home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-ifmib-evolution-04.txt < prev    next >
Text File  |  1993-10-21  |  116KB  |  3,893 lines

  1.       
  2. Draft              Interfaces Group Evolution     20 October 1993
  3.                  <draft-ietf-ifmib-evolution-04>
  4.  
  5.  
  6.            Evolution of the Interfaces Group of MIB-II
  7.  
  8.                          20 October 1993
  9.  
  10.  
  11.                          Keith McCloghrie
  12.                         Hughes LAN Systems
  13.                            kzm@hls.com
  14.  
  15.                        Frank J. Kastenholz
  16.                            FTP Software
  17.                           kasten@ftp.com
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                        Status of this Memo
  24.  
  25. This document is an Internet Draft.  Internet Drafts are working
  26. documents of the Internet Engineering Task Force (IETF), its
  27. Areas, and its Working Groups.  Note that other groups may also
  28. distribute working documents as Internet Drafts.
  29.  
  30. Internet Drafts are valid for a maximum of six months and may be
  31. updated, replaced, or obsoleted by other documents at any time.
  32. It is inappropriate to use Internet Drafts as reference material
  33. or to cite them other than as a "work in progress".
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. Expires 20 April 1994                                     [Page 1]
  56.  
  57.  
  58.  
  59.  
  60.  
  61. Draft               Interfaces Group Evolution     20 October 1993
  62.  
  63.  
  64. 1.  Introduction
  65.  
  66. This memo defines an experimental portion of the Management
  67. Information Base (MIB) for use with network management protocols
  68. in the Internet community.  In particular, it describes managed
  69. objects used for managing Network Interfaces.
  70.  
  71. This memo discusses the 'interfaces' group of MIB-II, especially
  72. the experience gained from the definition of numerous media-
  73. specific MIB modules for use in conjunction with the 'interfaces'
  74. group for managing various sub-layers beneath the internetwork-
  75. layer.  It proposes clarifications to, and extensions of, the
  76. architectural issues within the current model used for the
  77. 'interfaces' group.
  78.  
  79. This memo also includes a MIB module.  As well as including new
  80. MIB definitions to support the architectural extensions, this MIB
  81. module also re-specifies the 'interfaces' group of MIB-II in a
  82. manner which is both compliant to the SNMPv2 SMI and
  83. semantically-identical to the existing SNMPv1-based definitions.
  84.  
  85.  
  86. 1.1.  Change Log
  87.  
  88. This section tracks changes made to the revisions of the Internet
  89. Drafts of this document.  It will be deleted when the document is
  90. published as an RFC.
  91.  
  92. 20 October 1993
  93.  
  94. The following changes were made for the version of the document
  95. dated 20 October 1993
  96.  
  97. (1)  The syntax of ifType was changed to the textual convention,
  98.      IANAifType, and a new MIB Module added in which IANAifType is
  99.      defined.  Two new values: propVirtual and propMultiplexor
  100.      were added (the IANA will assign values to these is in due
  101.      course).
  102.  
  103. (2)  A compliance statement for ifLinkUpDownTrapEnable was added
  104.      allowing read-only as the minimum requirement.
  105.  
  106. (3)  The ifOperStatusDetail object, as discussed on the mailing-
  107.      list, was added.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Expires 20 April 1994                                     [Page 2]
  115.  
  116.  
  117.  
  118.  
  119.  
  120. Draft               Interfaces Group Evolution     20 October 1993
  121.  
  122.  
  123. (4)  The character-oriented interface groups were generalized to
  124.      apply to fixed-length-transmission interfaces
  125.      (ifFixedLengthGroup and ifHCFixedLengthGroup).  ifInErrors,
  126.      ifOutErrors, and ifUnknownProtos were added to the fixed-
  127.      length-transmission groups.
  128.  
  129. (5)  To provide greater clarity, the fixed-length groups and the
  130.      packet-based groups were made independent of each other, so
  131.      that only one of these groups applies to an interface.  This
  132.      required the definition of an extra group for packet-based
  133.      interfaces between 20 Mbs and 650 Mbs.
  134.  
  135. (6)  Guidelines were added on the assignment of ifIndex values to
  136.      dynamically added interfaces.
  137.  
  138. (7)  The ifConnector object was added to indicate whether or not
  139.      an interface has a physical connector.
  140.  
  141. (8)  IfSpecific was deprecated per the suggestion made on the
  142.      mailing list.  The reasoning is that A) specifying the value
  143.      it should contain can not be made unambiguous and B) the
  144.      manager station can use ifType, along with a knowledege of
  145.      the mapping of medium-specific MIBs to ifTypes to determine
  146.      which medium-specific MIB to use.  References to ifSpecific
  147.      in the ASN.1 or the text have been deleted or changed to
  148.      ifType as appropriate.  Additional text has been added to the
  149.      body of the document to explain this deletion.
  150.  
  151. (9)  Minor editorial changes.
  152.  
  153. 26 September 1993
  154.  
  155. The following changes were made for the version of the document
  156. dated 26 September 1993
  157.  
  158. (1)  Minor editorial changes.
  159.  
  160. 20 September 1993
  161.  
  162. The following changes were made for the version of the document
  163. dated 20 September 1993
  164.  
  165. (1)  The description text for ifType has been changed to a)
  166.      reflect that the IANA will be the source of future
  167.      assignments for the ifType value, b) that the IANA's current
  168.  
  169.  
  170.  
  171.  
  172.  
  173. Expires 20 April 1994                                     [Page 3]
  174.  
  175.  
  176.  
  177.  
  178.  
  179. Draft               Interfaces Group Evolution     20 October 1993
  180.  
  181.  
  182.      policy is to keep the ifType value and transmission subtree
  183.      OIDs the same, and c) latest policies and values may be
  184.      obtained from a "SNMP Numbers" RFC.
  185.  
  186. (2)  The values for ifType have been rearranged to fit with the
  187.      values assigned by the IANA as of 24 August 1993.
  188.  
  189. (3)  Additional text has been added clarifying the meaning of
  190.      "higher layer" for input and output packet counters.
  191.  
  192. (4)  The types of interface used in some examples were changed.
  193.  
  194. (5)  The requirements on a media-specific MIB are expanded to
  195.      require the the specification of what ifSpecific should point
  196.      to.
  197.  
  198. (6)  Minor editorial changes to conform with the RFC Editor's
  199.      standard format.
  200.  
  201. 23 August 1993
  202.  
  203. The following changes were made for the version of the document
  204. dated 23 August 1993.  These changes are listed in no particular
  205. order.
  206.  
  207. (1)  Some additional ifTypes were added: localTalk, smds-dxi,
  208.      frameRelayService), v35, hssi, hippi, modem
  209.  
  210. (2)  The frame-relay value of ifType has been limited to being
  211.      just DTE.
  212.  
  213. (3)  A new enumerated value, "unknown(4)" was added to
  214.      ifOperStatus.
  215.  
  216. (4)  ifName was added to the ifGeneral group.
  217.  
  218. 19 July/9 August 1993
  219.  
  220. The following changes were made for the version of the document
  221. dated 9 August 1993.  These changes are listed in no particular
  222. order.
  223.  
  224. (1)  Additional text clarifying the meaning of "higher layer
  225.      protocol" has been added.
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232. Expires 20 April 1994                                     [Page 4]
  233.  
  234.  
  235.  
  236.  
  237.  
  238. Draft               Interfaces Group Evolution     20 October 1993
  239.  
  240.  
  241. (2)  Per the working group meeting in Amsterdam, a statement was
  242.      added stating that the 32 bit counters will always be
  243.      available and, when 64-bit counters are in use, will report
  244.      the least significant 32 bits of the 64 bit counters.
  245.  
  246. (3)  Per the working group meeting in Amsterdam, strengthened the
  247.      wording of Section 3.2.3 "Virtual Circuits" that recommends
  248.      that entries in the ifTable not be assigned to connections.
  249.  
  250. (4)  Per the working group meeting in Amsterdam, added text to
  251.      Section 3.2.3 "Virtual Circuits" that requires that the MIB
  252.      designer present rationale if entries in the ifTable are
  253.      assigned to connections.
  254.  
  255. (5)  Per the working group meeting in Amsterdam, ifOutQLen has
  256.      been deprecated.
  257.  
  258. (6)  Per the working group meeting in Amsterdam,
  259.      ifExtnsPromiscuous has been retained in the extension of the
  260.      ifTable.
  261.  
  262. (7)  Per the working group meeting in Amsterdam, ifExtnsRevWare
  263.      and ifExtnsChipSet were deleted from the MIB on the basis
  264.      that their exact use is very unclear.  It is quite possible
  265.      in many interface architectures to "mix and match" chipsets
  266.      and drivers, leading to ambiguity as to the intended contents
  267.      of these objects.
  268.  
  269. (8)  Per the working group meeting in Amsterdam, the
  270.      ifExtnsTestTable has been replaced with the ifTestTable.
  271.  
  272. (9)  Per the working group meeting in Amsterdam, the text
  273.      describing the ifTestGroup's implementation status has been
  274.      altered to reflect the fact that a media-specific mib should
  275.      use the ifTestTable for any tests it defines, and therefore
  276.      may make implementation of the group mandatory.
  277.  
  278. (10) Per the working group meeting in Amsterdam, 2 interface speed
  279.      steps for using 64 bit counters are specified.  The first is
  280.      for using 64-bit octet counters.  The second is for using
  281.      64-bit packet counters.
  282.  
  283. (11) Per the working group meeting in Amsterdam, the 64-bit error
  284.      counters have been removed.
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291. Expires 20 April 1994                                     [Page 5]
  292.  
  293.  
  294.  
  295.  
  296.  
  297. Draft               Interfaces Group Evolution     20 October 1993
  298.  
  299.  
  300. (12) Per the working group meeting in Amsterdam, a section has
  301.      been added that provides the rationale for the default
  302.      setting specified for ifLinkUpDownTrapEnable.
  303.  
  304. (13) The semantics of ifSpecific have been tightened up, to
  305.      recommend the use of the semantics of InstancePointer, even
  306.      though the SYNTAX isn't changed so as to: not require
  307.      deprecating it, and not make existing implementations non-
  308.      compliant.
  309.  
  310. (14) The ifTable has been split into two tables.  The first table
  311.      contains all objects that were in the original ifTable.  The
  312.      second table contains all objects that have been added by
  313.      this MIB.
  314.  
  315. (15) In the ifTestTable, the use of ifTestCommunity (and
  316.      ifTestContext which would also have been required for SNMPv2)
  317.      and ifExtnsTestRequestId objects have been replaced by the
  318.      new ifTestId, ifTestStatus, and ifTestOwner objects.
  319.  
  320. (16) Some new enumerated values for ifType have been added.
  321.  
  322. (17) The compliance statements have been updated so that support
  323.      for the 'testing(3)' value of ifAdminStatus is not required.
  324.  
  325. (18) Several ASN.1 and SMI errors were fixed.
  326.  
  327. (19) Several spelling and grammar errors were fixed.
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350. Expires 20 April 1994                                     [Page 6]
  351.  
  352.  
  353.  
  354.  
  355.  
  356. Draft               Interfaces Group Evolution     20 October 1993
  357.  
  358.  
  359. 2.  The SNMPv2 Network Management Framework
  360.  
  361. The SNMPv2 Network Management Framework consists of four major
  362. components.  They are:
  363.  
  364. o    RFC 1442 which defines the SMI, the mechanisms used for
  365.      describing and naming objects for the purpose of management.
  366.  
  367. o    RFC 1213 defines MIB-II, the core set of managed objects for
  368.      the Internet suite of protocols.
  369.  
  370. o    RFC 1445 which defines the administrative and other
  371.      architectural aspects of the framework.
  372.  
  373. o    RFC 1448 which defines the protocol used for network access
  374.      to managed objects.
  375.  
  376. The Framework permits new objects to be defined for the purpose of
  377. experimentation and evaluation.
  378.  
  379.  
  380. 2.1.  Object Definitions
  381.  
  382. Managed objects are accessed via a virtual information store,
  383. termed the Management Information Base or MIB.  Objects in the MIB
  384. are defined using the subset of Abstract Syntax Notation One
  385. (ASN.1) defined in the SMI.  In particular, each object object
  386. type is named by an OBJECT IDENTIFIER, an administratively
  387. assigned name.  The object type together with an object instance
  388. serves to uniquely identify a specific instantiation of the
  389. object.  For human convenience, we often use a textual string,
  390. termed the descriptor, to refer to the object type.
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409. Expires 20 April 1994                                     [Page 7]
  410.  
  411.  
  412.  
  413.  
  414.  
  415. Draft               Interfaces Group Evolution     20 October 1993
  416.  
  417.  
  418. 3.  Experience with the Interfaces Group
  419.  
  420. One of the strengths of internetwork-layer protocols such as IP
  421. [6] is that they are designed to run over any network interface.
  422. In achieving this, IP considers any and all protocols it runs over
  423. as a single "network interface" layer.  A similar view is taken by
  424. other internetwork-layer protocols.  This concept is represented
  425. in MIB-II by the 'interfaces' group which defines a generic set of
  426. managed objects such that any network interface can be managed in
  427. an interface-independent manner through these managed objects.
  428. The 'interfaces' group provides the means for additional managed
  429. objects specific to particular types of network interface (e.g., a
  430. specific medium such as Ethernet) to be defined as extensions to
  431. the 'interfaces' group for media-specific management.  Since the
  432. standardization of MIB-II, many such media-specific MIB modules
  433. have been defined.
  434.  
  435. Experience in defining these media-specific MIB modules has shown
  436. that the model defined by MIB-II is too simplistic and/or static
  437. for some types of media-specific management.  As a result, some of
  438. these media-specific MIB modules have assumed an
  439. evolution/loosening of the model.  This memo is a proposal to
  440. document/standardize the evolution of the model and to fill in the
  441. gaps caused by that evolution.
  442.  
  443. A previous effort to extend the interfaces group resulted in the
  444. publication of RFC 1229 [7].  As part of defining the evolution of
  445. the interfaces group, this memo applies that evolution to, and
  446. thereby incorporates the RFC 1229 extensions.
  447.  
  448.  
  449. 3.1.  Areas of Clarification/Revision
  450.  
  451. There are several areas for which experience indicates that
  452. clarification, revision, or extension of the model would be
  453. helpful.  The next sections discuss these.
  454.  
  455.  
  456. 3.1.1.  Interface Numbering
  457.  
  458. MIB-II defines an object, ifNumber, whose value represents:
  459.  
  460.      "The number of network interfaces (regardless of their
  461.      current state) present on this system."
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468. Expires 20 April 1994                                     [Page 8]
  469.  
  470.  
  471.  
  472.  
  473.  
  474. Draft               Interfaces Group Evolution     20 October 1993
  475.  
  476.  
  477. Each interface is identified by a unique value of the ifIndex
  478. object, and the description of ifIndex constrains its value as
  479. follows:
  480.  
  481.      "Its value ranges between 1 and the value of ifNumber.  The
  482.      value for each interface must remain constant at least from
  483.      one re-initialization of the entity's network management
  484.      system to the next re-initialization."
  485.  
  486. This constancy requirement on the value of ifIndex for a
  487. particular interface is vital for efficient management.  However,
  488. an increasing number of devices allow for the dynamic
  489. addition/removal of network interfaces.  One example of this is a
  490. dynamic ability to configure the use of SLIP/PPP over a
  491. character-oriented port.  For such dynamic additions/removals, the
  492. combination of the constancy requirement and the restriction that
  493. the value of ifIndex is less than ifNumber is problematic.
  494.  
  495.  
  496. 3.1.2.  Interface Sub-Layers
  497.  
  498. Experience in defining media-specific management information has
  499. shown the need to distinguish between the multiple sub-layers
  500. beneath the internetwork-layer.  In addition, there is a need to
  501. manage these sub-layers in devices (e.g., MAC-layer bridges) which
  502. are unaware of which, if any, internetwork protocols run over
  503. these sub-layers.  As such, a model of having a single conceptual
  504. row in the interfaces table (MIB-II's ifTable) represent a whole
  505. interface underneath the internetwork-layer, and having a single
  506. associated media-specific MIB module (referenced via the ifType
  507. object) is too simplistic.  A further problem arises with the
  508. value of the ifType object which has enumerated values for each
  509. type of interface.
  510.  
  511. Consider, for example, an interface with PPP running over an HDLC
  512. link which uses a RS232-like connector.  Each of these sub-layers
  513. has its own media-specific MIB module.  If all of this is
  514. represented by a single conceptual row in the ifTable, then an
  515. enumerated value for ifType is needed for that specific
  516. combination which maps to the specific combination of media-
  517. specific MIBs.  Furthermore, there is still a lack of a method to
  518. describe the relationship of all the sub-layers of the MIB stack.
  519.  
  520. An associated problem is that of upward and downward multiplexing
  521. of the sub-layers.  An example of upward multiplexing is MLP
  522.  
  523.  
  524.  
  525.  
  526.  
  527. Expires 20 April 1994                                     [Page 9]
  528.  
  529.  
  530.  
  531.  
  532.  
  533. Draft               Interfaces Group Evolution     20 October 1993
  534.  
  535.  
  536. (Multi-Link-Procedure) which provides load-sharing over several
  537. serial lines by appearing as a single point-to-point link to the
  538. sub-layer(s) above.  An example of downward multiplexing would be
  539. several instances of PPP, each framed within a separate X.25
  540. virtual circuit, all of which run over one fractional T1 channel,
  541. concurrently with other uses of the T1 link.  The current MIB
  542. structure does not allow for these sorts of relationships to be
  543. described.
  544.  
  545.  
  546. 3.1.3.  Virtual Circuits
  547.  
  548. Several of the sub-layers for which media-specific MIB modules
  549. have been defined are connection oriented (e.g., Frame Relay,
  550. X.25).  Experience has shown that each effort to define such a MIB
  551. module revisits the question of whether separate conceptual rows
  552. in the ifTable are needed for each virtual circuit.  Most, if not
  553. all, of these efforts to date have decided to have all virtual
  554. circuits reference a single conceptual row in the ifTable.
  555.  
  556.  
  557. 3.1.4.  Bit, Character, and Fixed-Length Interfaces
  558.  
  559. RS-232 is an example of a character-oriented sub-layer over which
  560. (e.g., through use of PPP) IP datagrams can be sent.  Due to the
  561. packet-based nature of many of the objects in the ifTable,
  562. experience has shown that it is not appropriate to have a
  563. character-oriented sub-layer represented by a (whole) conceptual
  564. row in the ifTable.
  565.  
  566. Experience has also shown that it is sometimes desirable to have
  567. some management information for bit-oriented interfaces, which are
  568. similarly difficult to represent by a (whole) conceptual row in
  569. the ifTable.  For example, to manage the channels of a DS1
  570. circuit, where only some of the channels are carrying packet-based
  571. data.
  572.  
  573. A further complication is that some subnetwork technologies
  574. transmit data in fixed length transmission units.  One example of
  575. such a technology is cell relay, and in particular Asynchronous
  576. Transfer Mode (ATM), which transmits data in fixed-length cells.
  577. Representing such a interface as a packet-based interface produces
  578. redundant objects if the relationship between the number of
  579. packets and the number of octets in either direction is fixed by
  580. the size of the transmission unit (e.g., the size of a cell).
  581.  
  582.  
  583.  
  584.  
  585.  
  586. Expires 20 April 1994                                    [Page 10]
  587.  
  588.  
  589.  
  590.  
  591.  
  592. Draft               Interfaces Group Evolution     20 October 1993
  593.  
  594.  
  595. 3.1.5.  Counter Size
  596.  
  597. As the speed of network media increase, the minimum time in which
  598. a 32 bit counter will wrap decreases.  For example, on an
  599. Ethernet, a stream of back-to-back, full-size packets will cause
  600. ifInOctets to wrap in just over 57 minutes, for a T3 line, the
  601. minimum wrap-time is just over 12 minutes, and for FDDI, it will
  602. wrap in 5.7 minutes.  For a 1-gigabit medium, the counter might
  603. wrap in as little as 34 seconds.  Requiring that interfaces be
  604. polled frequently enough not to miss a counter wrap will be
  605. increasingly problematic.
  606.  
  607.  
  608. 3.1.6.  Interface Speed
  609.  
  610. Network speeds are increasing.  The range of ifSpeed is limited to
  611. reporting a maximum speed of (2**31)-1 bits/second, or
  612. approximately 2.2Gbs.  SONET defines an OC-48 interface, which is
  613. defined at operating at 48 times 51 Mbs, which is a speed in
  614. excess of 2.4gbits.  Thus, ifSpeed will be of diminishing utility
  615. over the next several years.
  616.  
  617.  
  618. 3.1.7.  Multicast/Broadcast Counters
  619.  
  620. The counters in the ifTable for packets addressed to a multicast
  621. or the broadcast address, are combined as counters of non-unicast
  622. packets.  In contrast, the ifExtensions MIB [7] defines one set of
  623. counters for multicast, and a separate set for broadcast packets.
  624. With the separate counters, the original combined counters become
  625. redundant.
  626.  
  627.  
  628. 3.1.8.  Addition of New ifType values
  629.  
  630. Over time, there is the need to add new ifType enumerated values
  631. for new interface types.  With the syntax of ifType being defined
  632. in a MIB, this requires the new MIB to be re-issued in order to
  633. define the new values.  In the past, re-issuing of the MIB has
  634. occurred only after several years.
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645. Expires 20 April 1994                                    [Page 11]
  646.  
  647.  
  648.  
  649.  
  650.  
  651. Draft               Interfaces Group Evolution     20 October 1993
  652.  
  653.  
  654. 3.1.9.  ifSpecific
  655.  
  656. The exact intent of what OBJECT IDENTIFIER ifSpecific is to
  657. contain has never been clear.  Different implementors have made it
  658. contain different OBJECT IDENTIFIERS, leading to confusion on the
  659. part of both agent and manager implementors.  Some implementations
  660. have ifSpecific contain the OBJECT IDENTIFIER that defines the
  661. media-specific MIB, i.e., the "foo" of:
  662.           foo OBJECT IDENTIFIER ::= { transmission xxx }
  663. while others have it contain the specific table or entry OBJECT
  664. IDENTIFIER of the media-specific MIB (e.g. fooTable or fooEntry)
  665. while still others have it be the OBJECT IDENTIFIER of the index
  666. object of the MIB's row, including instance identifier, (e.g.,
  667. fooIfIndex.ifIndex).
  668.  
  669. Additional problems arise when the media-specific MIB for a
  670. particular interface is actually several tables, each with its
  671. own, different, indexing.
  672.  
  673. As a result, ifSpecific has been deprecated from the MIB.
  674.  
  675. The only definition of the exact OBJECT IDENTIFIER that can be
  676. made explicit enough to cover all situations is to have it contain
  677. the most general value for the media-specific mib (the first
  678. example given above). This, in effect, makes it another version of
  679. ifType, so, since the object is therefore redundant, it has been
  680. removed.
  681.  
  682.  
  683. 3.2.  Clarifications/Revisions
  684.  
  685. The following clarifications and/or revisions are proposed.
  686.  
  687.  
  688. 3.2.1.  Interface Numbering
  689.  
  690. One solution to the interface numbering problem would be to
  691. redefine ifNumber to be the largest value of ifIndex, but the
  692. utility of such an object is questionable, and such a re-
  693. definition would require ifNumber to be deprecated.  Thus, an
  694. improvement would be to deprecate ifNumber and not replace it.
  695. However, the deprecation of ifNumber would require a change to
  696. that portion of ifIndex's definition which refers to ifNumber.
  697. So, since the definition of ifIndex must be changed anyway in
  698. order to solve the problem, changes to ifNumber do not benefit the
  699.  
  700.  
  701.  
  702.  
  703.  
  704. Expires 20 April 1994                                    [Page 12]
  705.  
  706.  
  707.  
  708.  
  709.  
  710. Draft               Interfaces Group Evolution     20 October 1993
  711.  
  712.  
  713. solution.
  714.  
  715. The solution adopted in this memo is just to delete the
  716. requirement that the value of ifIndex must be less than the value
  717. of ifNumber, and to retain ifNumber with its current definition.
  718. It could be argued that this is a change in the semantics of
  719. ifIndex; however, all existing implementations conform to this new
  720. definition, and in the interests of not requiring changes in
  721. existing implementations and in the many existing media-specific
  722. MIBs, it is proposed that this change does not require ifIndex to
  723. be deprecated.
  724.  
  725. This solution also results in the possibility of "holes" in the
  726. ifTable, i.e., the ifIndex values of conceptual rows in the
  727. ifTable are not necessarily contiguous, but SNMP's GetNext (and
  728. SNMPv2's GetBulk) operation easily deals with such holes.  The
  729. value of ifNumber still represents the number of conceptual rows,
  730. which increases/decreases as new interfaces are dynamically
  731. added/removed.  The vital constancy requirement is met by
  732. requiring that after an interface is dynamically removed, its
  733. ifIndex value is not re-used (by a different dynamically added
  734. interface) until after the following re-initialization of the
  735. network management system.  This avoids the need for a priori
  736. assignment of ifIndex values for all possible interfaces which
  737. might be added dynamically.
  738.  
  739. The exact meaning of a "different" interface is hard to define,
  740. and there will be gray areas.  One important criterion is that a
  741. management station, not noticing that an interface has gone away
  742. and another come into existence, should not be confused when it
  743. calculates the difference between the counter values retrieved on
  744. successive polls for a particular ifIndex value.  However, any
  745. firm definition in this document would likely to turn out to be
  746. inadequate.  Instead, the following guidelines are offered to
  747. allow implementors to choose what "different" means in their
  748. particular situation.
  749.  
  750. A previously-unused value of ifIndex should be assigned to a
  751. dynamically added interface if:
  752.  
  753. (1)  the assignment of a previously-used ifIndex value to the
  754.      interface could result in a discontinuity in the values of
  755.      ifTable counters for that value of ifIndex, or,
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763. Expires 20 April 1994                                    [Page 13]
  764.  
  765.  
  766.  
  767.  
  768.  
  769. Draft               Interfaces Group Evolution     20 October 1993
  770.  
  771.  
  772. (2)  an agent has no knowledge of whether the interface is the
  773.      "same" or "different" to a previously incarnated interface.
  774.  
  775. Because of the restriction of the value of ifIndex to be less than
  776. ifNumber, interfaces have been numbered with small integer values.
  777. This has led to the ability by humans to use the ifIndex values as
  778. (somewhat) user-friendly names for network interfaces (e.g.,
  779. "interface number 3").  With the relaxation of the restriction on
  780. the value of ifIndex, there is now the possibility that ifIndex
  781. values could be assigned as very large numbers (e.g., memory
  782. addresses).  Such numbers would be much less user-friendly.
  783. Therefore, this memo recommends that ifIndex values still be
  784. assigned as (relatively) small integer values starting at 1, even
  785. though the values in use at any one time are not necessarily
  786. contiguous.  (Note that this makes remembering which values have
  787. been assigned easy for agents which dynamically add new
  788. interfaces.)
  789.  
  790. This proposed change introduces a new problem of its own.
  791. Previously, there usually was a simple, direct, mapping of
  792. interfaces to the physical ports on systems.  This mapping would
  793. be based on the ifIndex value.  However, by removing the previous
  794. restrictions on the values allowed for ifIndex, along with the
  795. interface sub-layer concept (see the following section), mapping
  796. from interfaces to physical ports becomes increasingly
  797. problematic.
  798.  
  799. To address this issue, a new object, ifName, is added to the MIB.
  800. This object contains the device's name for the interface of which
  801. the relevant entry in the ifTable is a component.  For example, if
  802. a router has an interface named wan1, which is composed of PPP
  803. running over an RS-232 port, the ifName objects for the
  804. corresponding PPP and RS-232 entries in the ifTable will contain
  805. the string "wan1".
  806.  
  807.  
  808. 3.2.2.  Interface Sub-Layers
  809.  
  810. One possible but not recommended solution to the problem of
  811. representing multiple sub-layers would be to retain the concept of
  812. one conceptual row for all the sub-layers of an interface and have
  813. each media-specific MIB module identify its "superior" and
  814. "subordinate" sub-layers through OBJECT IDENTIFIER "pointers".
  815. The drawbacks of this scheme are: 1) that the superior/subordinate
  816. pointers are contained in the media-specific MIB modules, and
  817.  
  818.  
  819.  
  820.  
  821.  
  822. Expires 20 April 1994                                    [Page 14]
  823.  
  824.  
  825.  
  826.  
  827.  
  828. Draft               Interfaces Group Evolution     20 October 1993
  829.  
  830.  
  831. thus, a manager could not learn the structure of an interface,
  832. without inspecting multiple pointers in different MIB modules;
  833. this is overly complex and only possible if the manager has
  834. knowledge of all the relevant media-specific MIB modules; 2)
  835. current MIB modules would all need to be retrofitted with these
  836. new "pointers"; 3) this scheme does not adequately address the
  837. problem of upward and downward multiplexing; and 4) enumerated
  838. values of ifType are needed for each combination of sub-layers.
  839.  
  840. Another possible but not recommended scheme would be to retain the
  841. concept of one conceptual row for all the sub-layers of an
  842. interface and have a new separate MIB table to identify the
  843. "superior" and "subordinate" sub-layers and to contain ifType
  844. values identifying the media-specific MIB module(s) for each sub-
  845. layer.  Effectively, one conceptual row in the ifTable would
  846. represent each combination of sub-layers between the
  847. internetwork-layer and the wire.  While this scheme has fewer
  848. drawbacks, it does not support downward multiplexing, such as PPP
  849. over MLP: since MLP makes two (or more) serial lines appear to the
  850. layers above as a single physical interface, PPP over MLP should
  851. appear to the internetwork-layer as a single interface; this
  852. scheme, however, would result in two (or more) conceptual rows in
  853. the ifTable, both of which the internetwork-layer would run over.
  854. This scheme also requires enumerated values of ifType for each
  855. combination of sub-layers.
  856.  
  857. The solution adopted in this memo is to have an individual
  858. conceptual row in the ifTable to represent each sub-layer, and
  859. have a new separate MIB table (the ifStackTable, see section 5 of
  860. this memo) to identify the "superior" and "subordinate" sub-layers
  861. through INTEGER "pointers" to the appropriate conceptual rows in
  862. the ifTable.  This solution supports both upward and downward
  863. multiplexing, allows the IANAIfType to Media-Specific MIB mapping
  864. to identify the media-specific MIB module for that sub-layer, such
  865. that the new table need only be referenced to obtain information
  866. about layering, and it only requires enumerated values of ifType
  867. for each sub-layer, not for combinations of them.  However, it
  868. does require that the descriptions of some objects in the ifTable
  869. (specifically, ifType, ifPhysAddress, ifInUcastPkts, and
  870. ifOutUcastPkts) be generalized so as to apply to any sub-layer
  871. (rather than only to a sub-layer immediately beneath the network
  872. layer, as at present), plus some (specifically, ifSpeed) which
  873. need to have appropriate values identified for use when a
  874. generalized definition does not apply to a particular sub-layer.
  875. (i.e., at some layer above) that sub-layer.
  876.  
  877.  
  878.  
  879.  
  880.  
  881. Expires 20 April 1994                                    [Page 15]
  882.  
  883.  
  884.  
  885.  
  886.  
  887. Draft               Interfaces Group Evolution     20 October 1993
  888.  
  889.  
  890. In addition, this adopted solution makes no requirement that a
  891. device, in which a sub-layer is instrumented by a conceptual row
  892. of the ifTable, be aware of whether an internetwork protocol runs
  893. on top of (i.e., at some layer above) that sub-layer.  In fact,
  894. the counters of packets received on an interface are defined as
  895. counting the number "delivered to a higher-layer protocol".  This
  896. meaning of "higher-layer" includes:
  897.  
  898. (1)  Delivery to a forwarding module which accepts
  899.      packets/frames/octets and forwards them on at the same
  900.      protocol layer.  For example, for the purposes of this
  901.      definition, the forwarding module of a MAC-layer bridge is
  902.      considered as a "higher-layer" to the MAC-layer of each port
  903.      on the bridge.
  904.  
  905. (2)  Delivery to a a higher sub-layer within a interface stack.
  906.      For example, for the purposes of this definition, if a PPP
  907.      module operated directly over a serial interface, the PPP
  908.      module would be considered the higher sub-layer to the serial
  909.      interface.
  910.  
  911. (3)  Delivery to a a higher protocol layer which does not do
  912.      packet forwarding for sub-layers that are "at the top of" the
  913.      interface stack.  For example, for the purposes of this
  914.      definition, the local IP module would be considered the
  915.      higher layer to a SLIP serial interface.
  916.  
  917. Similarly, for output, the counters of packets transmitted out an
  918. interface are defined as counting the number "that higher-level
  919. protocols requested to be transmitted".  This meaning of "higher-
  920. layer" includes:
  921.  
  922. (1)  A forwarding module, at the same protocol layer, which
  923.      transmits packets/frames/octets that were received on an
  924.      different interface.  For example, for the purposes of this
  925.      definition, the forwarding module of a MAC-layer bridge is
  926.      considered as a "higher-layer" to the MAC-layer of each port
  927.      on the bridge.
  928.  
  929. (2)  The next higher sub-layer within an interface stack.  For
  930.      example, for the purposes of this definition, if a PPP module
  931.      operated directly over a serial interface, the PPP module
  932.      would be a "higher layer" to the serial interface.
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940. Expires 20 April 1994                                    [Page 16]
  941.  
  942.  
  943.  
  944.  
  945.  
  946. Draft               Interfaces Group Evolution     20 October 1993
  947.  
  948.  
  949. (3)  For sub-layers that are "at the top of" the interface stack,
  950.      a higher element in the network protocol stack.  For example,
  951.      for the purposes of this definition, the local IP module
  952.      would be considered the higher layer to an Ethernet
  953.      interface.
  954.  
  955.  
  956. 3.2.3.  Guidance on Defining Sub-layers
  957.  
  958. The designer of a media-specific MIB must decide whether to divide
  959. the interface into sub-layers or not, and if so, how to make the
  960. divisions.  The following guidance is offered to assist the
  961. media-specific MIB designer in these decisions.
  962.  
  963. In general, the number of entries in the ifTable should be kept to
  964. the minimum required for network management.  In particular, a
  965. group of related interfaces should be treated as a single
  966. interface with one entry in the ifTable providing that:
  967.  
  968. (1)  None of the group of interfaces performs multiplexing for any
  969.      other interface in the agent,
  970.  
  971. (2)  There is a meaningful and useful way for all of the ifTable's
  972.      information (e.g., the counters, and the status variables),
  973.      and all of the ifTable's capabilities (e.g., write access to
  974.      ifAdminStatus), to apply to the group of interfaces as a
  975.      whole.
  976.  
  977. Under these circumstances, there should be one entry in the
  978. ifTable for such a group of interfaces, and any internal structure
  979. which needs to be represented to network management should be
  980. captured in a MIB module specific to the particular type of
  981. interface.
  982.  
  983. Note that application of bullet 2 above to the ifTable's ifType
  984. object requires that there is a meaningful media-specific MIB and
  985. a meaningful ifType value which apply to the group of interfaces
  986. as a whole.  For example, it is not appropriate to treat an HDLC
  987. sub-layer and an RS-232 sub-layer as a single ifTable entry when
  988. the media-specific MIBs and the ifType values for HDLC and RS-232
  989. are separate (rather than combined).
  990.  
  991. Note that the sub-layers of an interface on one device will
  992. sometimes be different to the sub-layers of the interconnected
  993. interface of another device.  A simple example of this is a
  994.  
  995.  
  996.  
  997.  
  998.  
  999. Expires 20 April 1994                                    [Page 17]
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005. Draft               Interfaces Group Evolution     20 October 1993
  1006.  
  1007.  
  1008. frame-relay DTE interface which connects to a frameRelayService
  1009. interface, where the DTE interface has a different ifType value
  1010. and media-specific MIB to the DCE interface.
  1011.  
  1012. These guidelines are just that, guidelines.  The designer of a
  1013. media-specific MIB is free to lay out the MIB in whatever SMI
  1014. conformant manner is desired.  However, in doing so, the media-
  1015. specific MIB MUST completely specify the sub-layering model used
  1016. for the MIB, and provide the assumptions, reasoning, and rationale
  1017. used to develop that model.
  1018.  
  1019.  
  1020. 3.2.4.  Virtual Circuits
  1021.  
  1022. This memo strongly recommends that connection-oriented sub-layers
  1023. do not have a conceptual row in the ifTable for each virtual
  1024. circuit.  This avoids the proliferation of conceptual rows,
  1025. especially those which have considerable redundant information.
  1026. (Note, as a comparison, that connection-less sub-layers do not
  1027. have conceptual rows for each remote address.)  There may,
  1028. however, be circumstances under which it is appropriate for a
  1029. virtual circuit of a connection-oriented sub-layer to have its own
  1030. conceptual row in the ifTable; an example of this might be PPP
  1031. over an X.25 virtual circuit.  The MIB in section 5 of this memo
  1032. supports such circumstances.
  1033.  
  1034. If a media-specific MIB wishes to assign an entry in the ifTable
  1035. to each virtual circuit, the MIB designer must present the
  1036. rationale for this decision in the media-specific MIB's
  1037. specification.
  1038.  
  1039.  
  1040. 3.2.5.  Bit, Character, and Fixed-Length Interfaces
  1041.  
  1042. About half the objects in the ifTable are applicable to every type
  1043. of interface: packet-oriented, character-oriented, and bit-
  1044. oriented.  Of the other half, two are applicable to both
  1045. character-oriented and packet-oriented interfaces, and the rest
  1046. are applicable only to packet-oriented interfaces.  Thus, while it
  1047. is desirable for consistency to be able to represent any/all types
  1048. of interfaces in the ifTable, it is not possible to implement the
  1049. full ifTable for bit- and character-oriented sub-layers.
  1050.  
  1051. One possible but not recommended solution to this problem would be
  1052. to split the ifTable into two (or more) new MIB tables, one of
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058. Expires 20 April 1994                                    [Page 18]
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064. Draft               Interfaces Group Evolution     20 October 1993
  1065.  
  1066.  
  1067. which would contain objects that are relevant only to packet-
  1068. oriented interfaces (e.g., PPP), and another that may be used by
  1069. all interfaces.  This is highly undesirable since it would require
  1070. changes in every agent implementing the ifTable (i.e., just about
  1071. every existing SNMP agent).
  1072.  
  1073. The solution adopted in this memo builds upon the fact that
  1074. compliance statements in SNMPv2 (in contrast to SNMPv1) refer to
  1075. object groups, where object groups are explicitly defined by
  1076. listing the objects they contain.  Thus, in SNMPv2, multiple
  1077. compliance statements can be specified, one for all interfaces and
  1078. additional ones for specific types of interfaces.  The separate
  1079. compliance statements can be based on separate object groups,
  1080. where the object group for all interfaces can contain only those
  1081. objects from the ifTable which are appropriate for every type of
  1082. interfaces.  Using this solution, every sub-layer can have its own
  1083. conceptual row in the ifTable.
  1084.  
  1085. Thus, section 5 of this memo contains definitions of the objects
  1086. of the existing 'interfaces' group of MIB-II, in a manner which is
  1087. both SNMPv2-compliant and semantically-equivalent to the existing
  1088. MIB-II definitions.  With equivalent semantics, and with the BER
  1089. ("on the wire") encodings unchanged, these definitions retain the
  1090. same OBJECT IDENTIFIER values as assigned by MIB-II.  Thus, in
  1091. general, no rewrite of existing agents which conform to MIB-II and
  1092. the ifExtensions MIB is required.
  1093.  
  1094. In addition, this memo defines several object groups for the
  1095. purposes of defining which objects apply to which types of
  1096. interface:
  1097.  
  1098. (1)  the ifGeneralGroup.  This group contains those objects
  1099.      applicable to all types of network interfaces, including
  1100.      bit-oriented interfaces.
  1101.  
  1102. (2)  the ifPacketGroup.  This group contains those objects
  1103.      applicable to packet-oriented network interfaces.
  1104.  
  1105. (3)  the ifFixedLengthGroup.  This group contains the objects
  1106.      applicable not only to character-oriented interfaces, such as
  1107.      RS-232, but also to those subnetwork technologies, such as
  1108.      cell-relay/ATM, which transmit data in fixed length
  1109.      transmission units.  As well as the octet counters, there are
  1110.      also a few other counters (e.g., the error counters) which
  1111.      are useful for this type of interface, but are currently
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117. Expires 20 April 1994                                    [Page 19]
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123. Draft               Interfaces Group Evolution     20 October 1993
  1124.  
  1125.  
  1126.      defined as being packet-oriented.  To accommodate this, the
  1127.      definitions of these counters are generalized to apply to
  1128.      character-oriented interfaces and fixed-length-transmission
  1129.      interfaces.
  1130.  
  1131. It should be noted that the octet counters in the ifTable
  1132. aggregate octet counts for unicast and non-unicast packets into a
  1133. single octet counter per direction (received/transmitted).  Thus,
  1134. with the above definition of fixed-length-transmission interfaces,
  1135. where such interfaces which support non-unicast packets, separate
  1136. counts of unicast and multicast/broadcast transmissions can only
  1137. be maintained in a media-specific MIB module.
  1138.  
  1139.  
  1140. 3.2.6.  Counter Size
  1141.  
  1142. Two approaches to addressing the shrinking minimum counter-wrap
  1143. time problem were evaluated.  Counters could be scaled, for
  1144. example, ifInOctets could be changed to count received octets in,
  1145. e.g., 1024 byte blocks.  Alternatively, the size of the counter
  1146. could be increased.
  1147.  
  1148. Scaling the counters was rejected.  While it provides acceptable
  1149. performance at high count rates, at low rates it suffers.  If
  1150. there is little traffic on an interface, there might be a
  1151. significant interval before enough counts occur to cause a counter
  1152. to be incremented.  Traffic would then appear to be very bursty,
  1153. leading to incorrect conclusions of the network's performance.
  1154.  
  1155. The alternative, which this memo adopts, is to provide expanded,
  1156. 64 bit, counters.  These counters are provided in new "high
  1157. capacity" groups,
  1158.  
  1159. The old, 32-bit, counters have not been deprecated.  The 64-bit
  1160. counters are to be used only when the 32-bit counters do not
  1161. provide enough capacity; that is, the 32 bit counters could wrap
  1162. too fast.
  1163.  
  1164. For interfaces that operate at 20,000,000 (20 million) bits per
  1165. second or less, 32-bit byte and packet counters MUST be used.  For
  1166. interfaces that operate faster than 20,000,000 bits/second, and
  1167. slower than 650,000,000 bits/second, 32-bit packet counters MUST
  1168. be used and 64-bit octet counters MUST be used.  For interfaces
  1169. that operate at 650,000,000 bits/second or faster, 64-bit packet
  1170. counters AND 64-bit octet counters MUST be used.
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176. Expires 20 April 1994                                    [Page 20]
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182. Draft               Interfaces Group Evolution     20 October 1993
  1183.  
  1184.  
  1185. These speed steps were chosen as reasonable compromises based on
  1186. the following:
  1187.  
  1188. (1)  The cost of maintaining 64-bit counters is relatively high,
  1189.      so minimizing the number of agents which must support them is
  1190.      desirable.  Common interfaces (such as Ethernet) should not
  1191.      require them.
  1192.  
  1193. (2)  64-bit counters are a new feature, introduced in SNMPv2.  It
  1194.      is reasonable to expect that support for them will be spotty
  1195.      for the immediate future.  Thus, we wish to limit them to as
  1196.      few systems as possible.  This, in effect, means that 64-bit
  1197.      counters should be limited to higher speed interfaces.
  1198.      Ethernet (10,000,000 bps) and Token Ring (16,000,000 bps) are
  1199.      fairly wide-spread so it seems reasonable to not require 64-
  1200.      bit counters for these interfaces.
  1201.  
  1202. (3)  The 32-bit octet counters will wrap in the following times,
  1203.      for the following interfaces (when transmitting maximum-sized
  1204.      packets back-to-back):
  1205.  
  1206.      -   Ethernet: 57 minutes,
  1207.  
  1208.      -   16 megabit Token Ring: 36 minutes,
  1209.  
  1210.      -   A US T3 line (45 megabits): 12 minutes,
  1211.  
  1212.      -   FDDI: 5.7 minutes
  1213.  
  1214. (4)  The 32-bit packet counters wraps in about 57 minutes when
  1215.      64-byte packets are transmitted back-to-back on a 650,000,000
  1216.      bit/second link.
  1217.  
  1218.      As an aside, a 1-terabit (1,000 gigabits) link will cause a
  1219.      64 bit octet counter to wrap in just under 5 years.
  1220.      Conversely, an 81,000,000 terabit/second link is required to
  1221.      cause a 64-bit counter to wrap in 30 minutes.  We believe
  1222.      that, while technology rapidly marches forward, this link
  1223.      speed will not be achieved for at least several years,
  1224.      leaving sufficient time to evaluate the introduction of 96
  1225.      bit counters.
  1226.  
  1227. When 64-bit counters are in use, the 32-bit counters MUST still be
  1228. available.  They will report the low 32-bits of the associated
  1229. 64-bit count (e.g., ifInOctets will report the least significant
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235. Expires 20 April 1994                                    [Page 21]
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241. Draft               Interfaces Group Evolution     20 October 1993
  1242.  
  1243.  
  1244. 32 bits of ifHCInOctets).  This enhances inter-operability with
  1245. existing implementations at a very minimal cost to agents.
  1246.  
  1247. The new "high capacity" groups are:
  1248.  
  1249. (1)  the ifHCFixedLengthGroup for character-oriented/fixed-length
  1250.      interfaces, and the ifHCPacketGroup for packet-based
  1251.      interfaces; both of these groups include 64 bit counters for
  1252.      octets, and
  1253.  
  1254. (2)  the ifVHCPacketGroup for packet-based interfaces; this group
  1255.      includes 64 bit counters for octets and packets.
  1256.  
  1257. 3.2.7.  Interface Speed
  1258.  
  1259. In order to deal with increasing interface speeds, we have added
  1260. an ifHighSpeed object.
  1261.  
  1262. This object reports the speed of the interface in 1,000,000 (1
  1263. million) bits/second units.  Thus, the true speed of the interface
  1264. will be the value reported by this object, plus or minus 500,000
  1265. bits/second.
  1266.  
  1267. Other alternatives considered were:
  1268.  
  1269. (1)  Making the interface speed a 64-bit gauge.  This was rejected
  1270.      since the current SMI does not allow such a syntax.
  1271.  
  1272.      Furthermore, even if 64-bit gauges were available, their use
  1273.      would require additional complexity in agents due to an
  1274.      increased requirement for 64-bit operations.
  1275.  
  1276. (2)  We also considered making "high-32 bit" and "low-32-bit"
  1277.      objects which, when combined, would be a 64-bit value.  This
  1278.      simply seemed overly complex for what we are trying to do.
  1279.  
  1280.      Furthermore, a full 64-bits of precision does not seem
  1281.      necessary.  The value of ifHighSpeed will be the only report
  1282.      of interface speed for interfaces that are faster than
  1283.      4,294,967,295 bits per second.  At this speed, the
  1284.      granularity of ifHighSpeed will be 1,000,000 bits per second,
  1285.      thus the error will be 1/4294, or about 0.02%.  This seems
  1286.      reasonable.
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294. Expires 20 April 1994                                    [Page 22]
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300. Draft               Interfaces Group Evolution     20 October 1993
  1301.  
  1302.  
  1303. (3)  Adding a "scale" object, which would define the units which
  1304.      ifSpeed's value is.
  1305.  
  1306.      This would require two additional objects; one for the
  1307.      scaling object, and one to replace the current ifSpeed.  This
  1308.      later object is required since the semantics of ifSpeed would
  1309.      be significantly altered, and manager stations which do not
  1310.      understand the new semantics would be confused.
  1311.  
  1312.  
  1313. 3.2.8.  Multicast/Broadcast Counters
  1314.  
  1315. To avoid the redundancy of counting all non-unicast packets as
  1316. well as having individual multicast and broadcast packet counters,
  1317. we deprecate the use of the non-unicast counters, which can be
  1318. derived from the values of the others.
  1319.  
  1320. For the output broadcast and multicast counters defined in RFC
  1321. 1229, their definitions varied slightly from the packet counters
  1322. in the ifTable, in that they did not count errors/discarded
  1323. packets.  To align the definitions better, the old counters are
  1324. deprecated and replaced by new definitions.  Counters with 64 bits
  1325. of range are also needed, as explained above.
  1326.  
  1327.  
  1328.  
  1329. 3.2.9.  Trap Enable
  1330.  
  1331. In the multi-layer interface model, each sub-layer for which there
  1332. is an entry in the ifTable can generate linkUp/Down Traps.  Since
  1333. interface state changes would tend to propagate through the
  1334. interface (from top to bottom, or bottom to top), it is likely
  1335. that several traps would be generated for each linkUp/Down
  1336. occurrence.
  1337.  
  1338. It is desirable to provide a mechanism for manager stations to
  1339. control the generation of these traps.  To this end, the
  1340. ifLinkUpDownTrapEnable object has been added.  This object allows
  1341. managers to limit generation of traps to just the sub-layers of
  1342. interest.
  1343.  
  1344. The default setting should limit the number of traps generated to
  1345. one per interface per linkUp/Down event.  Furthermore, it seems
  1346. that the conditions that cause these state changes that are of
  1347. most interest to network managers occur at the lowest level of an
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353. Expires 20 April 1994                                    [Page 23]
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359. Draft               Interfaces Group Evolution     20 October 1993
  1360.  
  1361.  
  1362. interface stack.  Therefore we specify that by default, only the
  1363. lowest sub-layer of the interface generate traps.
  1364.  
  1365.  
  1366. 3.2.10.  Addition of New ifType values
  1367.  
  1368. The syntax of ifType is changed to be a textual convention, such
  1369. that the enumerated integer values are now defined in the textual
  1370. convention, IANAifType, which can be re-specified (with additional
  1371. values) without issuing a new version of this document.  The
  1372. Internet Assigned Number Authority (IANA) is responsible for the
  1373. assignment of all Internet numbers, including various SNMP-related
  1374. numbers, and specifically, new ifType values.  Thus, this document
  1375. defines two MIB modules: one to define the MIB for the
  1376. 'interfaces' group, and a second to define the first version of
  1377. the IANAifType textual convention.  The latter will be
  1378. periodically re-issued by the IANA.
  1379.  
  1380.  
  1381. 3.3.  Media-Specific MIB Applicability
  1382.  
  1383. The exact use and semantics of many objects in this MIB are open
  1384. to some interpretation.  This is a result of the generic nature of
  1385. this MIB.  It is not always possible to come up with specific,
  1386. unambiguous, text that covers all cases and yet preserve the
  1387. generic nature of the MIB.
  1388.  
  1389. Therefore, it is incumbent upon a media-specific MIB designer to,
  1390. wherever necessary, clarify the use of the objects in this MIB
  1391. with respect to the media-specific MIB.
  1392.  
  1393. Specific areas of clarification include
  1394.  
  1395. Layering Model
  1396.      The media-specific MIB designer MUST completely and
  1397.      unambiguously specify the layering model used.  Each
  1398.      individual sub-layer must be identified.
  1399.  
  1400. Virtual Circuits
  1401.      The media-specific MIB designer MUST specify whether virtual
  1402.      circuits are assigned entries in the ifTable or not.  If they
  1403.      are, compelling rationale must be presented.
  1404.  
  1405. ifTestTable
  1406.      The media-specific MIB designer MUST specify the
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412. Expires 20 April 1994                                    [Page 24]
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418. Draft               Interfaces Group Evolution     20 October 1993
  1419.  
  1420.  
  1421.      applicability of the ifTestTable.
  1422.  
  1423. ifRcvAddressTable
  1424.      The media-specific MIB designer MUST specify the
  1425.      applicability of the ifRcvAddressTable.
  1426.  
  1427. ifType
  1428.      For each of the ifType values to which the media-specific MIB
  1429.      applies, it must specify the mapping of ifType values to
  1430.      media-specific MIB module(s) and instances of MIB objects
  1431.      within those modules.
  1432.  
  1433. However, wherever this interface MIB is specific in the semantics,
  1434. DESCRIPTION, or applicability of objects, the media-specific MIB
  1435. designer MUST NOT change said semantics, DESCRIPTION, or
  1436. applicability.
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471. Expires 20 April 1994                                    [Page 25]
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477. Draft               Interfaces Group Evolution     20 October 1993
  1478.  
  1479.  
  1480. 4.  Overview
  1481.  
  1482. This MIB consists of 5 tables:
  1483.  
  1484. ifTable
  1485.      This table is the ifTable from MIB-II.
  1486.  
  1487. ifXTable
  1488.      This table contains objects that have been added to the
  1489.      Interface MIB as a result of the Interface Evolution effort,
  1490.      or replacements for objects of the original, MIB-II, ifTable
  1491.      that were deprecated because the semantics of said objects
  1492.      have significantly changed.  This table also contains objects
  1493.      that were previously in the ifExtnsTable.
  1494.  
  1495. ifStackTable
  1496.      This table contains objects that define the relationships
  1497.      among the sub-layers of an interface.
  1498.  
  1499. ifTestTable
  1500.      This table contains objects that are used to perform tests on
  1501.      interfaces.  This table is a generic table.  The designers of
  1502.      media-specific MIBs must define exactly how this table
  1503.      applies to their specific MIB.
  1504.  
  1505.      This table replaces the interface test table defined in
  1506.      RFC1229 [7].  The significant change is the replacement of
  1507.      the ifExtnsTestCommunity (and ifExtnsTestContext which would
  1508.      also have been required for SNMPv2) and ifExtnsTestRequestId
  1509.      objects, by the new ifTestId, ifTestStatus, and ifTestOwner
  1510.      objects.
  1511.  
  1512. ifRcvAddressTable
  1513.      This table contains objects that are used to define the
  1514.      media-level addresses which this interface will receive.
  1515.      This table is a generic table.  The designers of media-
  1516.      specific MIBs must define exactly how this table applies to
  1517.      their specific MIB.
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530. Expires 20 April 1994                                    [Page 26]
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536. Draft               Interfaces Group Evolution     20 October 1993
  1537.  
  1538.  
  1539. 5.  IANAifType Definition
  1540.  
  1541. IANAifType-MIB DEFINITIONS ::= BEGIN
  1542.  
  1543. IMPORTS
  1544.     MODULE-IDENTITY, OBJECT-TYPE        FROM SNMPv2-SMI
  1545.     TEXTUAL-CONVENTION                  FROM SNMPv2-TC;
  1546.  
  1547. ianaifType MODULE-IDENTITY
  1548.     LAST-UPDATED "9310172355Z"
  1549.     ORGANIZATION "IANA"
  1550.     CONTACT-INFO
  1551.             "   Internet Assigned Numbers Authority
  1552.                 USC/Information Sciences Institute
  1553.                 4676 Admiralty Way, Marina del Rey, CA 90292
  1554.  
  1555.                 Phone:  (310) 822-1511
  1556.                 EMail:  iana@isi.com."
  1557.     DESCRIPTION
  1558.             "The MIB module which defines the IANAifType textual
  1559.             convention, and thus the enumerated values of the
  1560.             ifType object defined in MIB-II's ifTable."
  1561.     ::= { experimental xx }
  1562.  
  1563.  
  1564. IANAifType ::= TEXTUAL-CONVENTION
  1565.     STATUS       current
  1566.     DESCRIPTION
  1567.             "This data type is used as the syntax of the ifType
  1568.             object in the (updated) definition of MIB-II's
  1569.             ifTable.
  1570.  
  1571.             The definition of this textual convention with the
  1572.             addition of newly assigned values is published
  1573.             periodically by the IANA, in either the Assigned
  1574.             Numbers RFC, or some derivative of it specific to
  1575.             Internet Network Management number assignments.  (The
  1576.             latest arrangements can be obtained by contacting the
  1577.             IANA.)
  1578.  
  1579.             Requests for new values should be made to IANA via
  1580.             email (iana@isi.edu).
  1581.  
  1582.             The relationship between the assignment of ifType
  1583.             values and of OIDs to particular media-specific MIBs
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589. Expires 20 April 1994                                    [Page 27]
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595. Draft               Interfaces Group Evolution     20 October 1993
  1596.  
  1597.  
  1598.             is solely the purview of IANA and is subject to change
  1599.             without notice.  Quite often, a media-specific MIB's
  1600.             OID-subtree assignment within MIB-II's 'transmission'
  1601.             subtree will be the same as its ifType value.
  1602.             However, in some circumstances this will not be the
  1603.             case, and implementors must not pre-assume any
  1604.             specific relationship between ifType values and
  1605.             transmission subtree OIDs."
  1606.     SYNTAX  INTEGER {
  1607.                 other(1),          -- none of the following
  1608.                 regular1822(2),
  1609.                 hdh1822(3),
  1610.                 ddnX25(4),
  1611.                 rfc877x25(5),
  1612.                 ethernetCsmacd(6),
  1613.                 iso88023Csmacd(7),
  1614.                 iso88024TokenBus(8),
  1615.                 iso88025TokenRing(9),
  1616.                 iso88026Man(10),
  1617.                 starLan(11),
  1618.                 proteon10Mbit(12),
  1619.                 proteon80Mbit(13),
  1620.                 hyperchannel(14),
  1621.                 fddi(15),
  1622.                 lapb(16),
  1623.                 sdlc(17),
  1624.                 ds1(18),           -- DS1/E1 (RFC 1406)
  1625.                 e1(19),            -- obsolete
  1626.                 basicISDN(20),
  1627.                 primaryISDN(21),
  1628.                                     -- proprietary serial
  1629.                 propPointToPointSerial(22),
  1630.                 ppp(23),
  1631.                 softwareLoopback(24),
  1632.                 eon(25),            -- CLNP over IP (RFC 1070)
  1633.                 ethernet3Mbit(26),
  1634.                 nsip(27),           -- XNS over IP
  1635.                 slip(28),           -- generic SLIP
  1636.                 ultra(29),          -- ULTRA technologies
  1637.                 ds3(30),            -- T-3
  1638.                 sip(31),            -- SMDS
  1639.                 frameRelay(32),    -- DTE only
  1640.                 rs232(33),
  1641.                 para(34),           -- parallel-port
  1642.                 arcnet(35),         -- arcnet
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648. Expires 20 April 1994                                    [Page 28]
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. Draft               Interfaces Group Evolution     20 October 1993
  1655.  
  1656.  
  1657.                 arcnetPlus(36),     -- arcnet plus
  1658.                 atm(37),            -- ATM cells
  1659.                 miox25(38),
  1660.                 sonet(39),          -- SONET or SDH
  1661.                 x25ple(40),
  1662.                 iso88022llc(41),
  1663.                 localTalk(42),
  1664.                 smdsDxi(43),
  1665.                 frameRelayService(44),  -- Frame relay DCE
  1666.                 v35(45),
  1667.                 hssi(46),
  1668.                 hippi(47),
  1669.                 modem(48),          -- Generic modem
  1670.                 aal5(49),           -- AAL5 over ATM
  1671.                 propVirtual(XXX),   -- proprietary virtual/internal
  1672.                 propMultiplexor(YYY)  -- proprietary multiplexing
  1673.             }
  1674.  
  1675. END
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707. Expires 20 April 1994                                    [Page 29]
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713. Draft               Interfaces Group Evolution     20 October 1993
  1714.  
  1715.  
  1716. 6.  Interfaces Group Definitions
  1717.  
  1718. IF-MIB DEFINITIONS ::= BEGIN
  1719.  
  1720. IMPORTS
  1721.     MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
  1722.     Integer32, TimeTicks, experimental       FROM SNMPv2-SMI
  1723.     TEXTUAL-CONVENTION, DisplayString,
  1724.     PhysAddress, TruthValue, RowStatus,
  1725.     AutonomousType, TestAndIncr              FROM SNMPv2-TC
  1726.     MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
  1727.     IANAifType                               FROM IANAifType-MIB
  1728.     interfaces                               FROM RFC-1213;
  1729.  
  1730.  
  1731. ifMIB MODULE-IDENTITY
  1732.     LAST-UPDATED "9310172355Z"
  1733.     ORGANIZATION "IETF Interfaces MIB Working Group"
  1734.     CONTACT-INFO
  1735.             "   Keith McCloghrie
  1736.                 Hughes LAN Systems
  1737.                 1225 Charleston Road, Mountain View, Ca. 94043
  1738.                 415-966-7934
  1739.                 kzm@hls.com
  1740.  
  1741.                 Frank Kastenholz
  1742.                 FTP Software
  1743.                 2 High Street, North Andover, Mass. 01845
  1744.                 (508)685-4000
  1745.                 kasten@ftp.com"
  1746.     DESCRIPTION
  1747.             "The MIB module to describe generic objects for
  1748.             network interface sub-layers.  This MIB is an updated
  1749.             version of MIB-II's ifTable, and incorporates the
  1750.             extensions defined in RFC 1229."
  1751.     ::= { experimental xx }
  1752.  
  1753. ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766. Expires 20 April 1994                                    [Page 30]
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772. Draft               Interfaces Group Evolution     20 October 1993
  1773.  
  1774.  
  1775. -- OwnerString has the same semantics as used in RFC 1271
  1776.  
  1777. OwnerString ::= TEXTUAL-CONVENTION
  1778.     DISPLAY-HINT "255a"
  1779.     STATUS       current
  1780.     DESCRIPTION
  1781.             "This data type is used to model an administratively
  1782.             assigned name of the owner of a resource.  This
  1783.             information is taken from the NVT ASCII character set.
  1784.             It is suggested that this name contain one or more of
  1785.             the following: ASCII form of the manager station's
  1786.             transport address, management station name (e.g.,
  1787.             domain name), network management personnel's name,
  1788.             location, or phone number.  In some cases the agent
  1789.             itself will be the owner of an entry.  In these cases,
  1790.             this string shall be set to a string starting with
  1791.             'agent'."
  1792.     SYNTAX       OCTET STRING (SIZE(0..255))
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825. Expires 20 April 1994                                    [Page 31]
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831. Draft               Interfaces Group Evolution     20 October 1993
  1832.  
  1833.  
  1834. ifNumber  OBJECT-TYPE
  1835.     SYNTAX      Integer32
  1836.     MAX-ACCESS  read-only
  1837.     STATUS      current
  1838.     DESCRIPTION
  1839.             "The number of network interfaces (regardless of their
  1840.             current state) present on this system."
  1841.     ::= { interfaces 1 }
  1842.  
  1843.  
  1844. -- the Interfaces table
  1845.  
  1846. -- The Interfaces table contains information on the entity's
  1847. -- interfaces.  Each sub-layer below the internetwork-layer
  1848. -- of a network interface is considered to be an interface.
  1849.  
  1850. ifTable OBJECT-TYPE
  1851.     SYNTAX      SEQUENCE OF IfEntry
  1852.     MAX-ACCESS  not-accessible
  1853.     STATUS      current
  1854.     DESCRIPTION
  1855.             "A list of interface entries.  The number of entries
  1856.             is given by the value of ifNumber."
  1857.     ::= { interfaces 2 }
  1858.  
  1859. ifEntry OBJECT-TYPE
  1860.     SYNTAX      IfEntry
  1861.     MAX-ACCESS  not-accessible
  1862.     STATUS      current
  1863.     DESCRIPTION
  1864.             "An entry containing management information applicable
  1865.             to a particular interface."
  1866.     INDEX   { ifIndex }
  1867.     ::= { ifTable 1 }
  1868.  
  1869. IfEntry ::=
  1870.     SEQUENCE {
  1871.         ifIndex                 Integer32,
  1872.         ifDescr                 DisplayString,
  1873.         ifType                  INTEGER,
  1874.         ifMtu                   Integer32,
  1875.         ifSpeed                 Gauge32,
  1876.         ifPhysAddress           PhysAddress,
  1877.         ifAdminStatus           INTEGER,
  1878.         ifOperStatus            INTEGER,
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884. Expires 20 April 1994                                    [Page 32]
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890. Draft               Interfaces Group Evolution     20 October 1993
  1891.  
  1892.  
  1893.         ifLastChange            TimeTicks,
  1894.         ifInOctets              Counter32,
  1895.         ifInUcastPkts           Counter32,
  1896.         ifInNUcastPkts          Counter32,  -- deprecated
  1897.         ifInDiscards            Counter32,
  1898.         ifInErrors              Counter32,
  1899.         ifInUnknownProtos       Counter32,
  1900.         ifOutOctets             Counter32,
  1901.         ifOutUcastPkts          Counter32,
  1902.         ifOutNUcastPkts         Counter32,  -- deprecated
  1903.         ifOutDiscards           Counter32,
  1904.         ifOutErrors             Counter32,
  1905.         ifOutQLen               Gauge32,    -- deprecated
  1906.         ifSpecific              OBJECT IDENTIFIER -- deprecated
  1907.     }
  1908.  
  1909.  
  1910. ifIndex OBJECT-TYPE
  1911.     SYNTAX      Integer32
  1912.     MAX-ACCESS  read-only
  1913.     STATUS      current
  1914.     DESCRIPTION
  1915.             "A unique value, greater than zero, for each
  1916.             interface.  It is recommended that values are assigned
  1917.             contiguously starting from 1.  The value for each
  1918.             interface sub-layer must remain constant at least from
  1919.             one re-initialization of the entity's network
  1920.             management system to the next re-initialization."
  1921.     ::= { ifEntry 1 }
  1922.  
  1923. ifDescr OBJECT-TYPE
  1924.     SYNTAX      DisplayString (SIZE (0..255))
  1925.     MAX-ACCESS  read-only
  1926.     STATUS      current
  1927.     DESCRIPTION
  1928.             "A textual string containing information about the
  1929.             interface.  This string should include the name of the
  1930.             manufacturer, the product name and the version of the
  1931.             interface hardware/software."
  1932.     ::= { ifEntry 2 }
  1933.  
  1934. ifType OBJECT-TYPE
  1935.     SYNTAX      IANAifType
  1936.     MAX-ACCESS  read-only
  1937.     STATUS      current
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943. Expires 20 April 1994                                    [Page 33]
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949. Draft               Interfaces Group Evolution     20 October 1993
  1950.  
  1951.  
  1952.     DESCRIPTION
  1953.             "The type of interface.  Additional values for ifType
  1954.             are assigned by the Internet Assigned Numbers
  1955.             Authority (IANA), through updating the syntax of the
  1956.             IANAifType textual convention."
  1957.     ::= { ifEntry 3 }
  1958.  
  1959. ifMtu OBJECT-TYPE
  1960.     SYNTAX      Integer32
  1961.     MAX-ACCESS  read-only
  1962.     STATUS      current
  1963.     DESCRIPTION
  1964.             "The size of the largest packet which can be
  1965.             sent/received on the interface, specified in octets.
  1966.             For interfaces that are used for transmitting network
  1967.             datagrams, this is the size of the largest network
  1968.             datagram that can be sent on the interface."
  1969.     ::= { ifEntry 4 }
  1970.  
  1971. ifSpeed OBJECT-TYPE
  1972.     SYNTAX      Gauge32
  1973.     MAX-ACCESS  read-only
  1974.     STATUS      current
  1975.     DESCRIPTION
  1976.             "An estimate of the interface's current bandwidth in
  1977.             bits per second.  For interfaces which do not vary in
  1978.             bandwidth or for those where no accurate estimation
  1979.             can be made, this object should contain the nominal
  1980.             bandwidth.  If the bandwidth of the interface is
  1981.             greater than the maximum value reportable by this
  1982.             object then this object should report its maximum
  1983.             value (4,294,967,295) and ifHighSpeed must be used to
  1984.             report the interace's speed.  For a sub-layer which
  1985.             has no concept of bandwidth, this object should be
  1986.             zero."
  1987.     ::= { ifEntry 5 }
  1988.  
  1989. ifPhysAddress OBJECT-TYPE
  1990.     SYNTAX      PhysAddress
  1991.     MAX-ACCESS  read-only
  1992.     STATUS      current
  1993.     DESCRIPTION
  1994.             "The interface's address at its protocol sub-layer.
  1995.             The interface's media-specific MIB must define the bit
  1996.             and byte ordering and format of the value contained by
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002. Expires 20 April 1994                                    [Page 34]
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008. Draft               Interfaces Group Evolution     20 October 1993
  2009.  
  2010.  
  2011.             this object.  For interfaces which do not have such an
  2012.             address (e.g., a serial line), this object should
  2013.             contain an octet string of zero length."
  2014.     ::= { ifEntry 6 }
  2015.  
  2016. ifAdminStatus OBJECT-TYPE
  2017.     SYNTAX  INTEGER {
  2018.                 up(1),       -- ready to pass packets
  2019.                 down(2),
  2020.                 testing(3)   -- in some test mode
  2021.             }
  2022.     MAX-ACCESS  read-write
  2023.     STATUS      current
  2024.     DESCRIPTION
  2025.             "The desired state of the interface.  The testing(3)
  2026.             state indicates that no operational packets can be
  2027.             passed."
  2028.     ::= { ifEntry 7 }
  2029.  
  2030. ifOperStatus OBJECT-TYPE
  2031.     SYNTAX  INTEGER {
  2032.                 up(1),       -- ready to pass packets
  2033.                 down(2),
  2034.                 testing(3),  -- in some test mode
  2035.                 unknown(4)   -- status can not be determined
  2036.                              -- for some reason.
  2037.             }
  2038.     MAX-ACCESS  read-only
  2039.     STATUS      current
  2040.     DESCRIPTION
  2041.             "The current operational state of the interface.  The
  2042.             testing(3) state indicates that no operational packets
  2043.             can be passed.  More detail on interface status may be
  2044.             indicated by ifOperStatusDetail."
  2045.     ::= { ifEntry 8 }
  2046.  
  2047. ifLastChange OBJECT-TYPE
  2048.     SYNTAX      TimeTicks
  2049.     MAX-ACCESS  read-only
  2050.     STATUS      current
  2051.     DESCRIPTION
  2052.             "The value of sysUpTime at the time the interface
  2053.             entered its current operational state.  If the current
  2054.             state was entered prior to the last re-initialization
  2055.             of the local network management subsystem, then this
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061. Expires 20 April 1994                                    [Page 35]
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067. Draft               Interfaces Group Evolution     20 October 1993
  2068.  
  2069.  
  2070.             object contains a zero value."
  2071.     ::= { ifEntry 9 }
  2072.  
  2073. ifInOctets OBJECT-TYPE
  2074.     SYNTAX      Counter32
  2075.     MAX-ACCESS  read-only
  2076.     STATUS      current
  2077.     DESCRIPTION
  2078.             "The total number of octets received on the interface,
  2079.             including framing characters."
  2080.     ::= { ifEntry 10 }
  2081.  
  2082. ifInUcastPkts OBJECT-TYPE
  2083.     SYNTAX      Counter32
  2084.     MAX-ACCESS  read-only
  2085.     STATUS      current
  2086.     DESCRIPTION
  2087.             "The number of packets, delivered by this sub-layer to
  2088.             a higher (sub-)layer, which were not addressed to a
  2089.             multicast or broadcast address at this sub-layer."
  2090.     ::= { ifEntry 11 }
  2091.  
  2092. ifInNUcastPkts OBJECT-TYPE
  2093.     SYNTAX  Counter32
  2094.     MAX-ACCESS  read-only
  2095.     STATUS      deprecated
  2096.     DESCRIPTION
  2097.             "The number of packets, delivered by this sub-layer to
  2098.             a higher (sub-)layer, which were addressed to a
  2099.             multicast or broadcast address at this sub-layer.
  2100.  
  2101.             This object is deprecated in favour of
  2102.             ifInMulticastPkts and ifInBroadcastPkts."
  2103.     ::= { ifEntry 12 }
  2104.  
  2105. ifInDiscards OBJECT-TYPE
  2106.     SYNTAX      Counter32
  2107.     MAX-ACCESS  read-only
  2108.     STATUS      current
  2109.     DESCRIPTION
  2110.             "The number of inbound packets which were chosen to be
  2111.             discarded even though no errors had been detected to
  2112.             prevent their being deliverable to a higher-layer
  2113.             protocol.  One possible reason for discarding such a
  2114.             packet could be to free up buffer space."
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120. Expires 20 April 1994                                    [Page 36]
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126. Draft               Interfaces Group Evolution     20 October 1993
  2127.  
  2128.  
  2129.     ::= { ifEntry 13 }
  2130.  
  2131. ifInErrors OBJECT-TYPE
  2132.     SYNTAX      Counter32
  2133.     MAX-ACCESS  read-only
  2134.     STATUS      current
  2135.     DESCRIPTION
  2136.             "For packet-oriented interfaces, the number of inbound
  2137.             packets that contained errors preventing them from
  2138.             being deliverable to a higher-layer protocol.  For
  2139.             character-oriented or fixed-length interfaces, the
  2140.             number of inbound transmission units that contained
  2141.             errors preventing them from being deliverable to a
  2142.             higher-layer protocol."
  2143.     ::= { ifEntry 14 }
  2144.  
  2145. ifInUnknownProtos OBJECT-TYPE
  2146.     SYNTAX      Counter32
  2147.     MAX-ACCESS  read-only
  2148.     STATUS      current
  2149.     DESCRIPTION
  2150.             "For packet-oriented interfaces, the number of packets
  2151.             received via the interface which were discarded
  2152.             because of an unknown or unsupported protocol.  For
  2153.             character-oriented or fixed-length interfaces which
  2154.             support protocol multiplexing the number of
  2155.             transmission units received via the interface which
  2156.             were discarded because of an unknown or unsupported
  2157.             protocol.  For any interface which does not support
  2158.             protocol multiplexing, this counter will always be 0."
  2159.     ::= { ifEntry 15 }
  2160.  
  2161. ifOutOctets OBJECT-TYPE
  2162.     SYNTAX      Counter32
  2163.     MAX-ACCESS  read-only
  2164.     STATUS      current
  2165.     DESCRIPTION
  2166.             "The total number of octets transmitted out of the
  2167.             interface, including framing characters."
  2168.     ::= { ifEntry 16 }
  2169.  
  2170. ifOutUcastPkts OBJECT-TYPE
  2171.     SYNTAX      Counter32
  2172.     MAX-ACCESS  read-only
  2173.     STATUS      current
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179. Expires 20 April 1994                                    [Page 37]
  2180.  
  2181.  
  2182.  
  2183.  
  2184.  
  2185. Draft               Interfaces Group Evolution     20 October 1993
  2186.  
  2187.  
  2188.     DESCRIPTION
  2189.             "The total number of packets that higher-level
  2190.             protocols requested be transmitted, and which were not
  2191.             addressed to a multicast or broadcast address at this
  2192.             sub-layer, including those that were discarded or not
  2193.             sent."
  2194.     ::= { ifEntry 17 }
  2195.  
  2196. ifOutNUcastPkts OBJECT-TYPE
  2197.     SYNTAX      Counter32
  2198.     MAX-ACCESS  read-only
  2199.     STATUS      deprecated
  2200.     DESCRIPTION
  2201.             "The total number of packets that higher-level
  2202.             protocols requested be transmitted, and which were
  2203.             addressed to a multicast or broadcast address at this
  2204.             sub-layer, including those that were discarded or not
  2205.             sent.
  2206.  
  2207.             This object is deprecated in favour of
  2208.             ifOutMulticastPkts and ifOutBroadcastPkts."
  2209.     ::= { ifEntry 18 }
  2210.  
  2211. ifOutDiscards OBJECT-TYPE
  2212.     SYNTAX      Counter32
  2213.     MAX-ACCESS  read-only
  2214.     STATUS      current
  2215.     DESCRIPTION
  2216.             "The number of outbound packets which were chosen to
  2217.             be discarded even though no errors had been detected
  2218.             to prevent their being transmitted.  One possible
  2219.             reason for discarding such a packet could be to free
  2220.             up buffer space."
  2221.     ::= { ifEntry 19 }
  2222.  
  2223. ifOutErrors OBJECT-TYPE
  2224.     SYNTAX      Counter32
  2225.     MAX-ACCESS  read-only
  2226.     STATUS      current
  2227.     DESCRIPTION
  2228.             "For packet-oriented interfaces, the number of
  2229.             outbound packets that could not be transmitted because
  2230.             of errors.  For character-oriented or fixed-length
  2231.             interfaces, the number of outbound transmission units
  2232.             that could not be transmitted because of errors."
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238. Expires 20 April 1994                                    [Page 38]
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244. Draft               Interfaces Group Evolution     20 October 1993
  2245.  
  2246.  
  2247.     ::= { ifEntry 20 }
  2248.  
  2249. ifOutQLen OBJECT-TYPE
  2250.     SYNTAX      Gauge32
  2251.     MAX-ACCESS  read-only
  2252.     STATUS      deprecated
  2253.     DESCRIPTION
  2254.             "The length of the output packet queue (in packets)."
  2255.     ::= { ifEntry 21 }
  2256.  
  2257. ifSpecific OBJECT-TYPE
  2258.     SYNTAX      OBJECT IDENTIFIER
  2259.     MAX-ACCESS  read-only
  2260.     STATUS      deprecated
  2261.     DESCRIPTION
  2262.             "A reference to MIB definitions specific to the
  2263.             particular media being used to realize the interface.
  2264.             It is recommended that this value point to an instance
  2265.             of a MIB object in the media-specific MIB, i.e., that
  2266.             this object have the semantics associated with the
  2267.             InstancePointer textual convention defined in RFC
  2268.             1443.  In fact, it is recommended that the media-
  2269.             specific MIB specify what value ifSpecific should/can
  2270.             take for values of ifType.  If no MIB definitions
  2271.             specific to the particular media are available, the
  2272.             value should be set to the OBJECT IDENTIFIER { 0 0 }."
  2273.     ::= { ifEntry 22 }
  2274.  
  2275.  
  2276.  
  2277. --
  2278. --   Extension to the interface table
  2279. --
  2280. -- This table replaces the ifExtnsTable table.
  2281. --
  2282.  
  2283. ifXTable        OBJECT-TYPE
  2284.     SYNTAX      SEQUENCE OF IfXEntry
  2285.     MAX-ACCESS  not-accessible
  2286.     STATUS      current
  2287.     DESCRIPTION
  2288.             "A list of interface entries.  The number of entries
  2289.             is given by the value of ifNumber.  This table
  2290.             contains additional objects for the interface table."
  2291.     ::= { ifMIBObjects 1 }
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297. Expires 20 April 1994                                    [Page 39]
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303. Draft               Interfaces Group Evolution     20 October 1993
  2304.  
  2305.  
  2306. ifXEntry        OBJECT-TYPE
  2307.     SYNTAX      IfXEntry
  2308.     MAX-ACCESS  not-accessible
  2309.     STATUS      current
  2310.     DESCRIPTION
  2311.             "An entry containing additional management information
  2312.             applicable to a particular interface."
  2313.     AUGMENTS    { ifEntry }
  2314.     ::= { ifXTable 1 }
  2315.  
  2316. IfXEntry ::=
  2317.     SEQUENCE {
  2318.         ifName                  DisplayString,
  2319.         ifInMulticastPkts       Counter32,
  2320.         ifInBroadcastPkts       Counter32,
  2321.         ifOutMulticastPkts      Counter32,
  2322.         ifOutBroadcastPkts      Counter32,
  2323.         ifHCInOctets            Counter64,
  2324.         ifHCInUcastPkts         Counter64,
  2325.         ifHCInMulticastPkts     Counter64,
  2326.         ifHCInBroadcastPkts     Counter64,
  2327.         ifHCOutOctets           Counter64,
  2328.         ifHCOutUcastPkts        Counter64,
  2329.         ifHCOutMulticastPkts    Counter64,
  2330.         ifHCOutBroadcastPkts    Counter64,
  2331.         ifLinkUpDownTrapEnable  INTEGER,
  2332.         ifHighSpeed             Gauge32,
  2333.         ifPromiscuousMode       TruthValue,
  2334.         ifConnector             INTEGER,
  2335.         ifOperStatusDetail      AutonomousType
  2336.     }
  2337.  
  2338.  
  2339. ifName OBJECT-TYPE
  2340.     SYNTAX      DisplayString
  2341.     MAX-ACCESS  read-only
  2342.     STATUS      current
  2343.     DESCRIPTION
  2344.             "The textual name of the interface.  The value of this
  2345.             object should be the name of the interface as assigned
  2346.             by the local device and should be suitable for use in
  2347.             commands entered at the device's `console'.  This
  2348.             might be a text name, such as `le0' or a simple port
  2349.             number, such as `1', depending on the interface naming
  2350.             syntax of the device.  If several entries in the
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356. Expires 20 April 1994                                    [Page 40]
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362. Draft               Interfaces Group Evolution     20 October 1993
  2363.  
  2364.  
  2365.             ifTable together represent a single interface as named
  2366.             by the device, then each will have the same value of
  2367.             ifName.  If there is no local name, or this object is
  2368.             otherwise not applicable, then this object contains a
  2369.             0-length string."
  2370.     ::= { ifXEntry 1 }
  2371.  
  2372. ifInMulticastPkts OBJECT-TYPE
  2373.     SYNTAX      Counter32
  2374.     MAX-ACCESS  read-only
  2375.     STATUS      current
  2376.     DESCRIPTION
  2377.             "The number of packets, delivered by this sub-layer to
  2378.             a higher (sub-)layer, which were addressed to a
  2379.             multicast address at this sub-layer.  For a MAC layer
  2380.             protocol, this includes both Group and Functional
  2381.             addresses."
  2382.     ::= { ifXEntry 2 }
  2383.  
  2384. ifInBroadcastPkts OBJECT-TYPE
  2385.     SYNTAX      Counter32
  2386.     MAX-ACCESS  read-only
  2387.     STATUS      current
  2388.     DESCRIPTION
  2389.             "The number of packets, delivered by this sub-layer to
  2390.             a higher (sub-)layer, which were addressed to a
  2391.             broadcast address at this sub-layer."
  2392.     ::= { ifXEntry 3 }
  2393.  
  2394. ifOutMulticastPkts OBJECT-TYPE
  2395.     SYNTAX      Counter32
  2396.     MAX-ACCESS  read-only
  2397.     STATUS      current
  2398.     DESCRIPTION
  2399.             "The total number of packets that higher-level
  2400.             protocols requested be transmitted, and which were
  2401.             addressed to a multicast address at this sub-layer,
  2402.             including those that were discarded or not sent.  For
  2403.             a MAC layer protocol, this includes both Group and
  2404.             Functional addresses."
  2405.     ::= { ifXEntry 4 }
  2406.  
  2407. ifOutBroadcastPkts OBJECT-TYPE
  2408.     SYNTAX      Counter32
  2409.     MAX-ACCESS  read-only
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415. Expires 20 April 1994                                    [Page 41]
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421. Draft               Interfaces Group Evolution     20 October 1993
  2422.  
  2423.  
  2424.     STATUS      current
  2425.     DESCRIPTION
  2426.             "The total number of packets that higher-level
  2427.             protocols requested be transmitted, and which were
  2428.             addressed to a broadcast address at this sub-layer,
  2429.             including those that were discarded or not sent."
  2430.     ::= { ifXEntry 5 }
  2431.  
  2432. --
  2433. -- High Capacity Counter objects.  These objects are all
  2434. -- 64 bit versions of the "basic" ifTable counters.  These
  2435. -- objects all have the same basic semantics as their 32-bit
  2436. -- counterparts, however, their syntax has been extended
  2437. -- to 64 bits.
  2438. --
  2439.  
  2440. ifHCInOctets OBJECT-TYPE
  2441.     SYNTAX      Counter64
  2442.     MAX-ACCESS  read-only
  2443.     STATUS      current
  2444.     DESCRIPTION
  2445.             "The total number of octets received on the interface,
  2446.             including framing characters.  This object is a 64-bit
  2447.             version of ifInOctets."
  2448.     ::= { ifXEntry 6 }
  2449.  
  2450. ifHCInUcastPkts OBJECT-TYPE
  2451.     SYNTAX      Counter64
  2452.     MAX-ACCESS  read-only
  2453.     STATUS      current
  2454.     DESCRIPTION
  2455.             "The number of packets, delivered by this sub-layer to
  2456.             a higher (sub-)layer, which were not addressed to a
  2457.             multicast or broadcast address at this sub-layer.
  2458.             This object is a 64-bit version of ifInUcastPkts."
  2459.     ::= { ifXEntry 7 }
  2460.  
  2461. ifHCInMulticastPkts OBJECT-TYPE
  2462.     SYNTAX      Counter64
  2463.     MAX-ACCESS  read-only
  2464.     STATUS      current
  2465.     DESCRIPTION
  2466.             "The number of packets, delivered by this sub-layer to
  2467.             a higher (sub-)layer, which were addressed to a
  2468.             multicast address at this sub-layer.  For a MAC layer
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474. Expires 20 April 1994                                    [Page 42]
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480. Draft               Interfaces Group Evolution     20 October 1993
  2481.  
  2482.  
  2483.             protocol, this includes both Group and Functional
  2484.             addresses.  This object is a 64-bit version of
  2485.             ifInMulticastPkts."
  2486.     ::= { ifXEntry 8 }
  2487.  
  2488. ifHCInBroadcastPkts OBJECT-TYPE
  2489.     SYNTAX      Counter64
  2490.     MAX-ACCESS  read-only
  2491.     STATUS      current
  2492.     DESCRIPTION
  2493.             "The number of packets, delivered by this sub-layer to
  2494.             a higher (sub-)layer, which were addressed to a
  2495.             broadcast address at this sub-layer.  This object is a
  2496.             64-bit version of ifInBroadcastPkts."
  2497.     ::= { ifXEntry 9 }
  2498.  
  2499. ifHCOutOctets OBJECT-TYPE
  2500.     SYNTAX      Counter64
  2501.     MAX-ACCESS  read-only
  2502.     STATUS      current
  2503.     DESCRIPTION
  2504.             "The total number of octets transmitted out of the
  2505.             interface, including framing characters.  This object
  2506.             is a 64-bit version of ifOutOctets."
  2507.     ::= { ifXEntry 10 }
  2508.  
  2509. ifHCOutUcastPkts OBJECT-TYPE
  2510.     SYNTAX      Counter64
  2511.     MAX-ACCESS  read-only
  2512.     STATUS      current
  2513.     DESCRIPTION
  2514.             "The total number of packets that higher-level
  2515.             protocols requested be transmitted, and which were not
  2516.             addressed to a multicast or broadcast address at this
  2517.             sub-layer, including those that were discarded or not
  2518.             sent.  This object is a 64-bit version of
  2519.             ifOutUcastPkts."
  2520.     ::= { ifXEntry 11 }
  2521.  
  2522. ifHCOutMulticastPkts OBJECT-TYPE
  2523.     SYNTAX      Counter64
  2524.     MAX-ACCESS  read-only
  2525.     STATUS      current
  2526.     DESCRIPTION
  2527.             "The total number of packets that higher-level
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533. Expires 20 April 1994                                    [Page 43]
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539. Draft               Interfaces Group Evolution     20 October 1993
  2540.  
  2541.  
  2542.             protocols requested be transmitted, and which were
  2543.             addressed to a multicast address at this sub-layer,
  2544.             including those that were discarded or not sent.  For
  2545.             a MAC layer protocol, this includes both Group and
  2546.             Functional addresses.  This object is a 64-bit version
  2547.             of ifOutMulticastPkts."
  2548.     ::= { ifXEntry 12 }
  2549.  
  2550. ifHCOutBroadcastPkts OBJECT-TYPE
  2551.     SYNTAX      Counter64
  2552.     MAX-ACCESS  read-only
  2553.     STATUS      current
  2554.     DESCRIPTION
  2555.             "The total number of packets that higher-level
  2556.             protocols requested be transmitted, and which were
  2557.             addressed to a broadcast address at this sub-layer,
  2558.             including those that were discarded or not sent.  This
  2559.             object is a 64-bit version of ifOutBroadcastPkts."
  2560.     ::= { ifXEntry 13 }
  2561.  
  2562. ifLinkUpDownTrapEnable  OBJECT-TYPE
  2563.     SYNTAX      INTEGER { enabled(1), disabled(2) }
  2564.     MAX-ACCESS  read-write
  2565.     STATUS      current
  2566.     DESCRIPTION
  2567.             "Indicates whether linkUp/linkDown traps should be
  2568.             generated for this interface.
  2569.  
  2570.             By default, this object should have the value
  2571.             enabled(1) for interfaces which do not operate on
  2572.             'top' of any other interface (as defined in the
  2573.             ifStackTable), and disabled(2) otherwise."
  2574.     ::= { ifXEntry 14 }
  2575.  
  2576. ifHighSpeed OBJECT-TYPE
  2577.     SYNTAX      Gauge32
  2578.     MAX-ACCESS  read-only
  2579.     STATUS      current
  2580.     DESCRIPTION
  2581.             "An estimate of the interface's current bandwidth in
  2582.             units of 1,000,000 bits per second.  If this object
  2583.             reports a value of `n' then the speed of the interface
  2584.             is somewhere in the range of `n-500,000' to
  2585.             `n+499,999'.  For interfaces which do not vary in
  2586.             bandwidth or for those where no accurate estimation
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592. Expires 20 April 1994                                    [Page 44]
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598. Draft               Interfaces Group Evolution     20 October 1993
  2599.  
  2600.  
  2601.             can be made, this object should contain the nominal
  2602.             bandwidth.  For a sub-layer which has no concept of
  2603.             bandwidth, this object should be zero."
  2604.     ::= { ifXEntry 15 }
  2605.  
  2606. ifPromiscuousMode  OBJECT-TYPE
  2607.     SYNTAX      TruthValue
  2608.     MAX-ACCESS  read-write
  2609.     STATUS      current
  2610.     DESCRIPTION
  2611.             "This object has a value of false(2) if this interface
  2612.             only accepts packets/frames that are addressed to this
  2613.             station.  This object has a value of true(1) when the
  2614.             station accepts all packets/frames transmitted on the
  2615.             media.  The value true(1) is only legal on certain
  2616.             types of media.  If legal, setting this object to a
  2617.             value of true(1) may require the interface to be reset
  2618.             before becoming effective.
  2619.  
  2620.             The value of ifPromiscuousMode does not affect the
  2621.             reception of broadcast and multicast packets/frames by
  2622.             the interface."
  2623.     ::= { ifXEntry 16 }
  2624.  
  2625. ifConnector   OBJECT-TYPE
  2626.     SYNTAX      INTEGER  { physical(1), virtual(2) }
  2627.     MAX-ACCESS  read-only
  2628.     STATUS      current
  2629.     DESCRIPTION
  2630.             "This object has the value 'physical(1)' for an
  2631.             interface which has (is directly attached to) a
  2632.             physical connector(s), and the value 'virtual(2)'
  2633.             otherwise."
  2634.     ::= { ifXEntry 17 }
  2635.  
  2636. ifOperStatusDetail  OBJECT-TYPE
  2637.     SYNTAX      AutonomousType
  2638.     MAX-ACCESS  read-only
  2639.     STATUS      current
  2640.     DESCRIPTION
  2641.             "This object provides more detail on the current
  2642.             operational state of the interface.  For example: a
  2643.             dial on demand circuit that had the ifOperStatus of
  2644.             'down' might be set to the appropriate OID to indicate
  2645.             a current lack of demand for the circuit.  If no
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651. Expires 20 April 1994                                    [Page 45]
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657. Draft               Interfaces Group Evolution     20 October 1993
  2658.  
  2659.  
  2660.             appropriate OID exists to detail the current state the
  2661.             value should be set to the OBJECT IDENTIFIER { 0 0 }."
  2662.     ::= { ifXEntry 18 }
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710. Expires 20 April 1994                                    [Page 46]
  2711.  
  2712.  
  2713.  
  2714.  
  2715.  
  2716. Draft               Interfaces Group Evolution     20 October 1993
  2717.  
  2718.  
  2719. --           The Interface Stack Group
  2720. --
  2721. -- Implementation of this group is mandatory for all systems
  2722. --
  2723.  
  2724. ifStackTable  OBJECT-TYPE
  2725.      SYNTAX        SEQUENCE OF IfStackEntry
  2726.      MAX-ACCESS    not-accessible
  2727.      STATUS        current
  2728.      DESCRIPTION
  2729.             "The table containing information on the relationships
  2730.             between the multiple sub-layers of network interfaces.
  2731.             In particular, it contains information on which sub-
  2732.             layers run 'on top of' which other sub-layers.  Each
  2733.             sub-layer corresponds to a conceptual row in the
  2734.             ifTable."
  2735.      ::= { ifMIBObjects 2 }
  2736.  
  2737.  
  2738. ifStackEntry  OBJECT-TYPE
  2739.      SYNTAX        IfStackEntry
  2740.      MAX-ACCESS    not-accessible
  2741.      STATUS        current
  2742.      DESCRIPTION
  2743.             "Information on a particular relationship between two
  2744.             sub-layers, specifying that one sub-layer runs on
  2745.             'top' of the other sub-layer.  Each sub-layer
  2746.             corresponds to a conceptual row in the ifTable."
  2747.      INDEX { ifStackHigherLayer, ifStackLowerLayer }
  2748.      ::= { ifStackTable 1 }
  2749.  
  2750.  
  2751. IfStackEntry ::=
  2752.     SEQUENCE {
  2753.         ifStackHigherLayer  Integer32,
  2754.         ifStackLowerLayer   Integer32,
  2755.         ifStackStatus       RowStatus
  2756.      }
  2757.  
  2758.  
  2759. ifStackHigherLayer  OBJECT-TYPE
  2760.      SYNTAX        Integer32
  2761.      MAX-ACCESS    not-accessible
  2762.      STATUS        current
  2763.      DESCRIPTION
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769. Expires 20 April 1994                                    [Page 47]
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775. Draft               Interfaces Group Evolution     20 October 1993
  2776.  
  2777.  
  2778.             "The value of ifIndex corresponding to the higher
  2779.             sub-layer of the relationship, i.e., the sub-layer
  2780.             which runs on 'top' of the sub-layer identified by the
  2781.             corresponding instance of ifStackLowerLayer.  If there
  2782.             is no higher sub-layer (below the internetwork layer),
  2783.             then this object has the value 0."
  2784.      ::= { ifStackEntry 1 }
  2785.  
  2786.  
  2787. ifStackLowerLayer  OBJECT-TYPE
  2788.      SYNTAX        Integer32
  2789.      MAX-ACCESS    not-accessible
  2790.      STATUS        current
  2791.      DESCRIPTION
  2792.             "The value of ifIndex corresponding to the lower sub-
  2793.             layer of the relationship, i.e., the sub-layer which
  2794.             runs 'below' the sub-layer identified by the
  2795.             corresponding instance of ifStackHigherLayer.  If
  2796.             there is no lower sub-layer, then this object has the
  2797.             value 0."
  2798.      ::= { ifStackEntry 2 }
  2799.  
  2800.  
  2801. ifStackStatus  OBJECT-TYPE
  2802.     SYNTAX         RowStatus
  2803.     MAX-ACCESS     read-write
  2804.     STATUS         current
  2805.     DESCRIPTION
  2806.             "The status of the relationship between two sub-
  2807.             layers.
  2808.  
  2809.             Changing the value of this object from 'active' to
  2810.             'notInService' or 'destroy' will likely have
  2811.             consequences up and down the interface stack.  Thus,
  2812.             write access to this object is likely to be
  2813.             inappropriate for some types of interfaces, and many
  2814.             implementations will choose not to support write-
  2815.             access for any type of interface."
  2816.     ::= { ifStackEntry 3 }
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828. Expires 20 April 1994                                    [Page 48]
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834. Draft               Interfaces Group Evolution     20 October 1993
  2835.  
  2836.  
  2837. --
  2838. --    The Interface Test Table
  2839. --
  2840. -- This group of objects is optional.  However, a media-specific
  2841. -- MIB may make implementation of this group mandatory.
  2842. --
  2843. -- This table replaces the ifExtnsTestTable
  2844. --
  2845.  
  2846. ifTestTable   OBJECT-TYPE
  2847.     SYNTAX      SEQUENCE OF IfTestEntry
  2848.     MAX-ACCESS  not-accessible
  2849.     STATUS      current
  2850.     DESCRIPTION
  2851.             "This table contains one entry per interface.  It
  2852.             defines objects which allow a network manager to
  2853.             instruct an agent to test an interface for various
  2854.             faults.  Tests for an interface are defined in the
  2855.             media-specific MIB for that interface.  After invoking
  2856.             a test, the object ifTestResult can be read to
  2857.             determine the outcome.  If an agent can not perform
  2858.             the test, ifTestResult is set to so indicate.  The
  2859.             object ifTestCode can be used to provide further
  2860.             test-specific or interface-specific (or even
  2861.             enterprise-specific) information concerning the
  2862.             outcome of the test.  Only one test can be in progress
  2863.             on each interface at any one time.  If one test is in
  2864.             progress when another test is invoked, the second test
  2865.             is rejected.  Some agents may reject a test when a
  2866.             prior test is active on another interface.
  2867.  
  2868.             Before starting a test, a manager-station must first
  2869.             obtain 'ownership' of the entry in the ifTestTable for
  2870.             the interface to be tested.  This is accomplished with
  2871.             the ifTestId and ifTestStatus objects as follows:
  2872.  
  2873.          try_again:
  2874.              get (ifTestId, ifTestStatus)
  2875.              while (ifTestStatus != notInUse)
  2876.                  /*
  2877.                   * Loop while a test is running or some other
  2878.                   * manager is configuring a test.
  2879.                   */
  2880.                  short delay
  2881.                  get (ifTestId, ifTestStatus)
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887. Expires 20 April 1994                                    [Page 49]
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893. Draft               Interfaces Group Evolution     20 October 1993
  2894.  
  2895.  
  2896.              }
  2897.  
  2898.              /*
  2899.               * Is not being used right now -- let's compete
  2900.               * to see who gets it.
  2901.               */
  2902.              lock_value = ifTestId
  2903.  
  2904.              if ( set(ifTestId = lock_value, ifTestStatus = inUse,
  2905.                       ifTestOwner = 'my-IP-address') == FAILURE)
  2906.                  /*
  2907.                   * Another manager got the ifTestEntry -- go
  2908.                   * try again
  2909.                   */
  2910.                  goto try_again;
  2911.  
  2912.              /*
  2913.               * I have the lock
  2914.               */
  2915.              set up any test parameters.
  2916.  
  2917.              /*
  2918.               * This starts the test
  2919.               */
  2920.              set(ifTestType = test_to_run);
  2921.  
  2922.              wait for test completion by polling ifTestResult
  2923.  
  2924.              when test completes, agent sets ifTestResult
  2925.                   agent also sets ifTestStatus = 'notInUse'
  2926.  
  2927.              retrieve any additional test results, and ifTestId
  2928.  
  2929.              if (ifTestId == lock_value+1) results are valid
  2930.  
  2931.            A manager station first retrieves the value of the
  2932.            appropriate ifTestId and ifTestStatus objects,
  2933.            periodically repeating the retrieval if necessary,
  2934.            until the value of ifTestStatus is 'notInUse'.  The
  2935.            manager station then tries to set the same ifTestId
  2936.            object to the value it just retrieved, the same
  2937.            ifTestStatus object to 'inUse', and the corresponding
  2938.            ifTestOwner object to a value indicating itself.  If
  2939.            the set operation succeeds then the manager has
  2940.            obtained ownership of the ifTestEntry, and the value of
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946. Expires 20 April 1994                                    [Page 50]
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952. Draft               Interfaces Group Evolution     20 October 1993
  2953.  
  2954.  
  2955.            the ifTestId object is incremented by the agent (per
  2956.            the semantics of TestAndIncr).  Failure of the set
  2957.            operation indicates that some other manager has
  2958.            obtained ownership of the ifTestEntry.
  2959.  
  2960.            Once ownership is obtained, any test parameters can be
  2961.            setup, and then the test is initiated by setting
  2962.            ifTestType.  On completion of the test, the agent sets
  2963.            ifTestStatus to 'notInUse'.  Once this occurs, the
  2964.            manager can retrieve the results.  In the (rare) event
  2965.            that the invocation of tests by two network managers
  2966.            were to overlap, then there would be a possibility that
  2967.            the first test's results might be overwritten by the
  2968.            second test's results prior to the first results being
  2969.            read.  This unlikely circumstance can be detected by a
  2970.            network manager retrieving ifTestId at the same time as
  2971.            retrieving the test results, and ensuring that the
  2972.            results are for the desired request.
  2973.  
  2974.            If ifTestType is not set within an abnormally long
  2975.            period of time after ownership is obtained, the agent
  2976.            should time-out the manager, and reset the value of the
  2977.            ifTestStatus object back to 'notInUse'.  It is
  2978.            suggested that this time-out period be 5 minutes.
  2979.  
  2980.            In general, a management station must not retransmit a
  2981.            request to invoke a test for which it does not receive
  2982.            a response; instead, it properly inspects an agent's
  2983.            MIB to determine if the invocation was successful.
  2984.            Only if the invocation was unsuccessful, is the
  2985.            invocation request retransmitted.
  2986.  
  2987.            Some tests may require the interface to be taken off-
  2988.            line in order to execute them, or may even require the
  2989.            agent to reboot after completion of the test.  In these
  2990.            circumstances, communication with the management
  2991.            station invoking the test may be lost until after
  2992.            completion of the test.  An agent is not required to
  2993.            support such tests.  However, if such tests are
  2994.            supported, then the agent should make every effort to
  2995.            transmit a response to the request which invoked the
  2996.            test prior to losing communication.  When the agent is
  2997.            restored to normal service, the results of the test are
  2998.            properly made available in the appropriate objects.
  2999.            Note that this requires that the ifIndex value assigned
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005. Expires 20 April 1994                                    [Page 51]
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011. Draft               Interfaces Group Evolution     20 October 1993
  3012.  
  3013.  
  3014.            to an interface must be unchanged even if the test
  3015.            causes a reboot.  An agent must reject any test for
  3016.            which it cannot, perhaps due to resource constraints,
  3017.            make available at least the minimum amount of
  3018.            information after that test completes."
  3019.     ::= { ifMIBObjects 3 }
  3020.  
  3021. ifTestEntry OBJECT-TYPE
  3022.     SYNTAX       IfTestEntry
  3023.     MAX-ACCESS   not-accessible
  3024.     STATUS       current
  3025.     DESCRIPTION
  3026.             "An entry containing objects for invoking tests on an
  3027.             interface."
  3028.     AUGMENTS  { ifEntry }
  3029.     ::= { ifTestTable 1 }
  3030.  
  3031. IfTestEntry ::=
  3032.     SEQUENCE {
  3033.         ifTestId           TestAndIncr,
  3034.         ifTestStatus       INTEGER,
  3035.         ifTestType         AutonomousType,
  3036.         ifTestResult       INTEGER,
  3037.         ifTestCode         OBJECT IDENTIFIER,
  3038.         ifTestOwner        OwnerString
  3039.     }
  3040.  
  3041. ifTestId         OBJECT-TYPE
  3042.     SYNTAX       TestAndIncr
  3043.     MAX-ACCESS   read-write
  3044.     STATUS       current
  3045.     DESCRIPTION
  3046.             "This object identifies the current invocation of the
  3047.             interface's test."
  3048.     ::= { ifTestEntry 1 }
  3049.  
  3050. ifTestStatus     OBJECT-TYPE
  3051.     SYNTAX       INTEGER { notInUse(1), inUse(2) }
  3052.     MAX-ACCESS   read-write
  3053.     STATUS       current
  3054.     DESCRIPTION
  3055.             "This object indicates whether or not some manager
  3056.             currently has the necessary 'ownership' required to
  3057.             invoke a test on this interface.  A write to this
  3058.             object is only successful when it changes its value
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064. Expires 20 April 1994                                    [Page 52]
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070. Draft               Interfaces Group Evolution     20 October 1993
  3071.  
  3072.  
  3073.             from 'notInUse(1)' to 'inUse(2)'.  After completion of
  3074.             a test, the agent resets the value back to
  3075.             'notInUse(1)'."
  3076.     ::= { ifTestEntry 2 }
  3077.  
  3078. ifTestType       OBJECT-TYPE
  3079.     SYNTAX       AutonomousType
  3080.     MAX-ACCESS   read-write
  3081.     STATUS       current
  3082.     DESCRIPTION
  3083.             "A control variable used to start and stop operator-
  3084.             initiated interface tests.  Most OBJECT IDENTIFIER
  3085.             values assigned to tests are defined elsewhere, in
  3086.             association with specific types of interface.
  3087.             However, this document assigns a value for a full-
  3088.             duplex loopback test, and defines the special meanings
  3089.             of the subject identifier:
  3090.  
  3091.                 noTest  OBJECT IDENTIFIER ::= { 0 0 }
  3092.  
  3093.             When the value noTest is written to this object, no
  3094.             action is taken unless a test is in progress, in which
  3095.             case the test is aborted.  Writing any other value to
  3096.             this object is only valid when no test is currently in
  3097.             progress, in which case the indicated test is
  3098.             initiated.
  3099.  
  3100.             When read, this object always returns the most recent
  3101.             value that ifTestType was set to.  If it has not been
  3102.             set since the last initialization of the network
  3103.             management subsystem on the agent, a value of noTest
  3104.             is returned."
  3105.     ::= { ifTestEntry 3 }
  3106.  
  3107. ifTestResult  OBJECT-TYPE
  3108.     SYNTAX       INTEGER {
  3109.                      none(1),          -- no test yet requested
  3110.                      success(2),
  3111.                      inProgress(3),
  3112.                      notSupported(4),
  3113.                      unAbleToRun(5),   -- due to state of system
  3114.                      aborted(6),
  3115.                      failed(7)
  3116.                  }
  3117.     MAX-ACCESS   read-only
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123. Expires 20 April 1994                                    [Page 53]
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129. Draft               Interfaces Group Evolution     20 October 1993
  3130.  
  3131.  
  3132.     STATUS       current
  3133.     DESCRIPTION
  3134.             "This object contains the result of the most recently
  3135.             requested test, or the value none(1) if no tests have
  3136.             been requested since the last reset.  Note that this
  3137.             facility provides no provision for saving the results
  3138.             of one test when starting another, as could be
  3139.             required if used by multiple managers concurrently."
  3140.     ::= { ifTestEntry 4 }
  3141.  
  3142. ifTestCode  OBJECT-TYPE
  3143.     SYNTAX       OBJECT IDENTIFIER
  3144.     MAX-ACCESS   read-only
  3145.     STATUS       current
  3146.     DESCRIPTION
  3147.             "This object contains a code which contains more
  3148.             specific information on the test result, for example
  3149.             an error-code after a failed test.  Error codes and
  3150.             other values this object may take are specific to the
  3151.             type of interface and/or test.  The value may have the
  3152.             semantics of either the AutonomousType or
  3153.             InstancePointer textual conventions as defined in RFC
  3154.             1443.  The identifier:
  3155.  
  3156.                 testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
  3157.  
  3158.             is defined for use if no additional result code is
  3159.             available."
  3160.     ::= { ifTestEntry 5 }
  3161.  
  3162. ifTestOwner      OBJECT-TYPE
  3163.     SYNTAX       OwnerString
  3164.     MAX-ACCESS   read-write
  3165.     STATUS       current
  3166.     DESCRIPTION
  3167.             "The entity which currently has the 'ownership'
  3168.             required to invoke a test on this interface."
  3169.     ::= { ifTestEntry 6 }
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182. Expires 20 April 1994                                    [Page 54]
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188. Draft               Interfaces Group Evolution     20 October 1993
  3189.  
  3190.  
  3191. --   Generic Receive Address Table
  3192. --
  3193. -- This group of objects is mandatory for all types of
  3194. -- interfaces which can receive packets/frames addressed to
  3195. -- more than one address.
  3196. --
  3197. -- This table replaces the ifExtnsRcvAddr table.  The main
  3198. -- difference is that this table makes use of the RowStatus
  3199. -- textual convention, while ifExtnsRcvAddr did not.
  3200.  
  3201. ifRcvAddressTable  OBJECT-TYPE
  3202.     SYNTAX      SEQUENCE OF IfRcvAddressEntry
  3203.     MAX-ACCESS  not-accessible
  3204.     STATUS      current
  3205.     DESCRIPTION
  3206.             "This table contains an entry for each address
  3207.             (broadcast, multicast, or uni-cast) for which the
  3208.             system will receive packets/frames on a particular
  3209.             interface, except as follows:
  3210.  
  3211.             - for an interface operating in promiscuous mode,
  3212.             entries are only required for those addresses for
  3213.             which the system would receive frames were it not
  3214.             operating in promiscuous mode.
  3215.  
  3216.             - for 802.5 functional addresses, only one entry is
  3217.             required, for the address which has the functional
  3218.             address bit ANDed with the bit mask of all functional
  3219.             addresses for which the interface will accept frames."
  3220.     ::= { ifMIBObjects 4 }
  3221.  
  3222. ifRcvAddressEntry  OBJECT-TYPE
  3223.     SYNTAX      IfRcvAddressEntry
  3224.     MAX-ACCESS  not-accessible
  3225.     STATUS      current
  3226.     DESCRIPTION
  3227.             "A list of objects identifying an address for which
  3228.             the system will accept packets/frames on the
  3229.             particular interface identified by the index value
  3230.             ifIndex."
  3231.     INDEX  { ifIndex, ifRcvAddressAddress }
  3232.     ::= { ifRcvAddressTable 1 }
  3233.  
  3234. IfRcvAddressEntry ::=
  3235.     SEQUENCE {
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241. Expires 20 April 1994                                    [Page 55]
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247. Draft               Interfaces Group Evolution     20 October 1993
  3248.  
  3249.  
  3250.         ifRcvAddressAddress   PhysAddress,
  3251.         ifRcvAddressStatus    RowStatus,
  3252.         ifRcvAddressType      INTEGER
  3253.     }
  3254.  
  3255. ifRcvAddressAddress OBJECT-TYPE
  3256.     SYNTAX      PhysAddress
  3257.     MAX-ACCESS  read-create
  3258.     STATUS      current
  3259.     DESCRIPTION
  3260.             "An address for which the system will accept
  3261.             packets/frames on this entry's interface."
  3262.     ::= { ifRcvAddressEntry 1 }
  3263.  
  3264. ifRcvAddressStatus OBJECT-TYPE
  3265.     SYNTAX      RowStatus
  3266.     MAX-ACCESS  read-write
  3267.     STATUS      current
  3268.     DESCRIPTION
  3269.             "This object is used to create and delete rows in the
  3270.             ifRcvAddressTable."
  3271.  
  3272.     ::= { ifRcvAddressEntry 2 }
  3273.  
  3274. ifRcvAddressType OBJECT-TYPE
  3275.     SYNTAX      INTEGER {
  3276.                     other(1),
  3277.                     volatile(2),
  3278.                     nonVolatile(3)
  3279.                 }
  3280.  
  3281.     MAX-ACCESS  read-create
  3282.     STATUS      current
  3283.     DESCRIPTION
  3284.             "This object has the value nonVolatile(3) for those
  3285.             entries in the table which are valid and will not be
  3286.             deleted by the next restart of the managed system.
  3287.             Entries having the value volatile(2) are valid and
  3288.             exist, but have not been saved, so that will not exist
  3289.             after the next restart of the managed system.  Entries
  3290.             having the value other(1) are valid and exist but are
  3291.             not classified as to whether they will continue to
  3292.             exist after the next restart."
  3293.  
  3294.     DEFVAL  { volatile }
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300. Expires 20 April 1994                                    [Page 56]
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306. Draft               Interfaces Group Evolution     20 October 1993
  3307.  
  3308.  
  3309.     ::= { ifRcvAddressEntry 3 }
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.  
  3320.  
  3321.  
  3322.  
  3323.  
  3324.  
  3325.  
  3326.  
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359. Expires 20 April 1994                                    [Page 57]
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365. Draft               Interfaces Group Evolution     20 October 1993
  3366.  
  3367.  
  3368. -- conformance information
  3369.  
  3370. ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
  3371.  
  3372. ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
  3373. ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
  3374.  
  3375.  
  3376. -- compliance statements
  3377.  
  3378. ifCompliance MODULE-COMPLIANCE
  3379.     STATUS  current
  3380.     DESCRIPTION
  3381.             "The compliance statement for SNMPv2 entities which
  3382.             have network interfaces."
  3383.  
  3384.     MODULE  -- this module
  3385.         MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
  3386.  
  3387.         GROUP       ifFixedLengthGroup
  3388.         DESCRIPTION
  3389.             "This group is mandatory for all network interfaces
  3390.             which are character-oriented or transmit data in
  3391.             fixed-length transmission units."
  3392.  
  3393.         GROUP       ifHCFixedLengthGroup
  3394.         DESCRIPTION
  3395.             "This group is mandatory only for those network
  3396.             interfaces which are character-oriented or transmit
  3397.             data in fixed-length transmission units, and for which
  3398.             the value of the corresponding instance of ifSpeed is
  3399.             greater than 20,000,000 bits/second."
  3400.  
  3401.         GROUP       ifPacketGroup
  3402.         DESCRIPTION
  3403.             "This group is mandatory for all network interfaces
  3404.             which are packet-oriented."
  3405.  
  3406.         GROUP       ifHCPacketGroup
  3407.         DESCRIPTION
  3408.             "This group is mandatory only for those network
  3409.             interfaces which are packet-oriented and for which the
  3410.             value of the corresponding instance of ifSpeed is
  3411.             greater than 650,000,000 bits/second."
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418. Expires 20 April 1994                                    [Page 58]
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424. Draft               Interfaces Group Evolution     20 October 1993
  3425.  
  3426.  
  3427.         GROUP       ifTestGroup
  3428.         DESCRIPTION
  3429.             "This group is optional.  Media-specific MIBs which
  3430.             require interface tests are strongly encouraged to use
  3431.             this group for invoking tests and reporting results.
  3432.             A medium specific MIB which has mandatory tests may
  3433.             make implementation of this group mandatory."
  3434.  
  3435.         GROUP       ifRcvAddressGroup
  3436.         DESCRIPTION
  3437.             "The applicability of this group MUST be defined by
  3438.             the media-specific MIBs.  Media-specific MIBs must
  3439.             define the exact meaning, use, and semantics of the
  3440.             addresses in this group."
  3441.  
  3442.         OBJECT      ifLinkUpDownTrapEnable
  3443.         MIN-ACCESS  read-only
  3444.         DESCRIPTION
  3445.             "Write access is not required."
  3446.  
  3447.         OBJECT      ifPromiscuousMode
  3448.         MIN-ACCESS  read-only
  3449.         DESCRIPTION
  3450.             "Write access is not required."
  3451.  
  3452.         OBJECT      ifStackStatus
  3453.         SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  3454.         MIN-ACCESS  read-only
  3455.         DESCRIPTION
  3456.             "Write access is not required, and only one of the six
  3457.             enumerated values for the RowStatus textual convention
  3458.             need be supported, specifically: active(1)."
  3459.  
  3460.         OBJECT       ifAdminStatus
  3461.         SYNTAX       INTEGER { up(1), down(2) }
  3462.         MIN-ACCESS   read-only
  3463.         DESCRIPTION
  3464.             "Write access is not required, nor is support for the
  3465.             value testing(3)."
  3466.     ::= { ifCompliances 1 }
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477. Expires 20 April 1994                                    [Page 59]
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483. Draft               Interfaces Group Evolution     20 October 1993
  3484.  
  3485.  
  3486. -- units of conformance
  3487.  
  3488. ifGeneralGroup    OBJECT-GROUP
  3489.     OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
  3490.               ifAdminStatus, ifOperStatus, ifLastChange,
  3491.               ifLinkUpDownTrapEnable,
  3492.               ifOperStatusDetail, ifConnector,
  3493.               ifHighSpeed, ifName }
  3494.     STATUS  current
  3495.     DESCRIPTION
  3496.             "A collection of objects providing information
  3497.             applicable to all network interfaces."
  3498.     ::= { ifGroups 1 }
  3499.  
  3500. -- the following five groups are mutually exclusive; at most
  3501. -- one of these groups is implemented for any interface
  3502.  
  3503. ifFixedLengthGroup    OBJECT-GROUP
  3504.     OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
  3505.               ifInErrors, ifOutErrors }
  3506.     STATUS  current
  3507.     DESCRIPTION
  3508.             "A collection of objects providing information
  3509.             specific to non-high speed (greater than 20,000,000
  3510.             bits/second) character-oriented or fixed-length-
  3511.             transmission network interfaces."
  3512.     ::= { ifGroups 2 }
  3513.  
  3514. ifHCFixedLengthGroup    OBJECT-GROUP
  3515.     OBJECTS { ifHCInOctets, ifHCOutOctets,
  3516.               ifInOctets, ifOutOctets, ifInUnknownProtos,
  3517.               ifInErrors, ifOutErrors }
  3518.     STATUS  current
  3519.     DESCRIPTION
  3520.             "A collection of objects providing information
  3521.             specific to high speed (greater than 20,000,000
  3522.             bits/second) character-oriented or fixed-length-
  3523.             transmission network interfaces."
  3524.     ::= { ifGroups 3 }
  3525.  
  3526. ifPacketGroup    OBJECT-GROUP
  3527.     OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
  3528.               ifInErrors, ifOutErrors,
  3529.               ifMtu, ifInUcastPkts, ifInMulticastPkts,
  3530.               ifInBroadcastPkts, ifInDiscards,
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536. Expires 20 April 1994                                    [Page 60]
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542. Draft               Interfaces Group Evolution     20 October 1993
  3543.  
  3544.  
  3545.               ifOutUcastPkts, ifOutMulticastPkts,
  3546.               ifOutBroadcastPkts, ifOutDiscards,
  3547.               ifPromiscuousMode }
  3548.     STATUS  current
  3549.     DESCRIPTION
  3550.             "A collection of objects providing information
  3551.             specific to non-high speed (greater than 20,000,000
  3552.             bits/second) packet-oriented network interfaces."
  3553.     ::= { ifGroups 4 }
  3554.  
  3555. ifHCPacketGroup    OBJECT-GROUP
  3556.     OBJECTS { ifHCInOctets, ifHCOutOctets,
  3557.               ifInOctets, ifOutOctets, ifInUnknownProtos,
  3558.               ifInErrors, ifOutErrors,
  3559.               ifMtu, ifInUcastPkts, ifInMulticastPkts,
  3560.               ifInBroadcastPkts, ifInDiscards,
  3561.               ifOutUcastPkts, ifOutMulticastPkts,
  3562.               ifOutBroadcastPkts, ifOutDiscards,
  3563.               ifPromiscuousMode }
  3564.     STATUS  current
  3565.     DESCRIPTION
  3566.             "A collection of objects providing information
  3567.             specific to high speed (greater than 20,000,000
  3568.             bits/second but less than 650,000,000 bits/second)
  3569.             packet-oriented network interfaces."
  3570.     ::= { ifGroups 5 }
  3571.  
  3572. ifVHCPacketGroup    OBJECT-GROUP
  3573.     OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
  3574.               ifHCInBroadcastPkts, ifHCOutUcastPkts,
  3575.               ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
  3576.               ifHCInOctets, ifHCOutOctets,
  3577.               ifInOctets, ifOutOctets, ifInUnknownProtos,
  3578.               ifInErrors, ifOutErrors,
  3579.               ifMtu, ifInUcastPkts, ifInMulticastPkts,
  3580.               ifInBroadcastPkts, ifInDiscards,
  3581.               ifOutUcastPkts, ifOutMulticastPkts,
  3582.               ifOutBroadcastPkts, ifOutDiscards,
  3583.               ifPromiscuousMode }
  3584.     STATUS  current
  3585.     DESCRIPTION
  3586.             "A collection of objects providing information
  3587.             specific to higher speed (greater than 650,000,000
  3588.             bits/second) packet-oriented network interfaces."
  3589.     ::= { ifGroups 6 }
  3590.  
  3591.  
  3592.  
  3593.  
  3594.  
  3595. Expires 20 April 1994                                    [Page 61]
  3596.  
  3597.  
  3598.  
  3599.  
  3600.  
  3601. Draft               Interfaces Group Evolution     20 October 1993
  3602.  
  3603.  
  3604. ifRcvAddressGroup    OBJECT-GROUP
  3605.     OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
  3606.     STATUS  current
  3607.     DESCRIPTION
  3608.             "A collection of objects providing information on the
  3609.             multiple addresses which an interface receives."
  3610.     ::= { ifGroups 7 }
  3611.  
  3612. ifTestGroup    OBJECT-GROUP
  3613.     OBJECTS { ifTestId, ifTestStatus, ifTestType,
  3614.               ifTestResult, ifTestCode, ifTestOwner }
  3615.     STATUS  current
  3616.     DESCRIPTION
  3617.             "A collection of objects providing the ability to
  3618.             invoke tests on an interface."
  3619.     ::= { ifGroups 8 }
  3620.  
  3621. ifStackGroup    OBJECT-GROUP
  3622.     OBJECTS { ifStackStatus }
  3623.     STATUS  current
  3624.     DESCRIPTION
  3625.             "A collection of objects providing information on the
  3626.             layering of MIB-II interfaces."
  3627.     ::= { ifGroups 9 }
  3628.  
  3629. END
  3630.  
  3631.  
  3632.  
  3633.  
  3634.  
  3635.  
  3636.  
  3637.  
  3638.  
  3639.  
  3640.  
  3641.  
  3642.  
  3643.  
  3644.  
  3645.  
  3646.  
  3647.  
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654. Expires 20 April 1994                                    [Page 62]
  3655.  
  3656.  
  3657.  
  3658.  
  3659.  
  3660. Draft               Interfaces Group Evolution     20 October 1993
  3661.  
  3662.  
  3663. 7.  Acknowledgements
  3664.  
  3665. This memo has been produced by the IETF's Interfaces MIB working-
  3666. group.
  3667.  
  3668. The initial proposal to the working-group was the result of
  3669. conversations and discussions with many people, including at least
  3670. the following: Fred Baker, Ted Brunner, Chuck Davin, Jeremy
  3671. Greene, Marshall Rose, Kaj Tesink, and Dean Throop.
  3672.  
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.  
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.  
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.  
  3713. Expires 20 April 1994                                    [Page 63]
  3714.  
  3715.  
  3716.  
  3717.  
  3718.  
  3719. Draft               Interfaces Group Evolution     20 October 1993
  3720.  
  3721.  
  3722. 8.  References
  3723.  
  3724. [1]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
  3725.      "Structure of Management Information for version 2 of the
  3726.      Simple Network Management Protocol (SNMPv2)", RFC 1442, SNMP
  3727.      Research, Inc., Hughes LAN Systems, Dover Beach Consulting,
  3728.      Inc., Carnegie Mellon University, April 1993.
  3729.  
  3730.  
  3731. [2]  Galvin, J., and K. McCloghrie, "Administrative Model for
  3732.      version 2 of the Simple Network Management Protocol
  3733.      (SNMPv2)", RFC 1445, Trusted Information Systems, Hughes LAN
  3734.      Systems, April 1993.
  3735.  
  3736.  
  3737. [3]  Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
  3738.      "Protocol Operations for version 2 of the Simple Network
  3739.      Management Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc.,
  3740.      Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie
  3741.      Mellon University, April 1993.
  3742.  
  3743.  
  3744. [4]  McCloghrie, K., and M. Rose, "Management Information Base for
  3745.      Network Management of TCP/IP-based internets - MIB-II", RFC
  3746.      1213, Hughes LAN Systems, Performance Systems International,
  3747.      March 1991.
  3748.  
  3749.  
  3750. [5]  Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
  3751.      Network Management Protocol", RFC 1157, SNMP Research,
  3752.      Performance Systems International, Performance Systems
  3753.      International, MIT Laboratory for Computer Science, May 1990.
  3754.  
  3755.  
  3756. [6]  J. Postel, "Internet Protocol", RFC 791, Information Sciences
  3757.      Institute, USC, September 1981.
  3758.  
  3759.  
  3760. [7]  K. McCloghrie, "Extensions to the Generic-Interface MIB", RFC
  3761.      1229, Hughes LAN Systems, May 1991.
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772. Expires 20 April 1994                                    [Page 64]
  3773.  
  3774.  
  3775.  
  3776.  
  3777.  
  3778. Draft               Interfaces Group Evolution     20 October 1993
  3779.  
  3780.  
  3781. 9.  Security Considerations
  3782.  
  3783. Security issues are not discussed in this memo.
  3784.  
  3785.  
  3786. 10.  Authors' Address
  3787.  
  3788.      Keith McCloghrie
  3789.      Hughes LAN Systems
  3790.      1225 Charleston Rd,
  3791.      Mountain View, Ca 94043
  3792.  
  3793.      Phone: 415-966-7934
  3794.      Email: kzm@hls.com
  3795.  
  3796.      Frank Kastenholz
  3797.      FTP Software
  3798.      2 High Street
  3799.      North Andover, Mass. USA 01845
  3800.  
  3801.      Phone: (508)685-4000
  3802.      Email: kasten@ftp.com
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831. Expires 20 April 1994                                    [Page 65]
  3832.  
  3833.  
  3834.  
  3835.  
  3836.  
  3837. Draft               Interfaces Group Evolution     20 October 1993
  3838.  
  3839.  
  3840. Table of Contents
  3841.  
  3842.  
  3843. 1 Introduction ..............................................    2
  3844. 1.1 Change Log ..............................................    2
  3845. 2 The SNMPv2 Network Management Framework ...................    7
  3846. 2.1 Object Definitions ......................................    7
  3847. 3 Experience with the Interfaces Group ......................    8
  3848. 3.1 Areas of Clarification/Revision .........................    8
  3849. 3.1.1 Interface Numbering ...................................    8
  3850. 3.1.2 Interface Sub-Layers ..................................    9
  3851. 3.1.3 Virtual Circuits ......................................   10
  3852. 3.1.4 Bit, Character, and Fixed-Length Interfaces ...........   10
  3853. 3.1.5 Counter Size ..........................................   11
  3854. 3.1.6 Interface Speed .......................................   11
  3855. 3.1.7 Multicast/Broadcast Counters ..........................   11
  3856. 3.1.8 Addition of New ifType values .........................   11
  3857. 3.1.9 ifSpecific ............................................   12
  3858. 3.2 Clarifications/Revisions ................................   12
  3859. 3.2.1 Interface Numbering ...................................   12
  3860. 3.2.2 Interface Sub-Layers ..................................   14
  3861. 3.2.3 Guidance on Defining Sub-layers .......................   17
  3862. 3.2.4 Virtual Circuits ......................................   18
  3863. 3.2.5 Bit, Character, and Fixed-Length Interfaces ...........   18
  3864. 3.2.6 Counter Size ..........................................   20
  3865. 3.2.7 Interface Speed .......................................   22
  3866. 3.2.8 Multicast/Broadcast Counters ..........................   23
  3867. 3.2.9 Trap Enable ...........................................   23
  3868. 3.2.10 Addition of New ifType values ........................   24
  3869. 3.3 Media-Specific MIB Applicability ........................   24
  3870. 4 Overview ..................................................   26
  3871. 5 IANAifType Definition .....................................   27
  3872. 6 Interfaces Group Definitions ..............................   30
  3873. 7 Acknowledgements ..........................................   63
  3874. 8 References ................................................   64
  3875. 9 Security Considerations ...................................   65
  3876. 10 Authors' Address .........................................   65
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890. Expires 20 April 1994                                    [Page 66]
  3891.  
  3892.  
  3893.